Qcombobox pyqt5 как получить значение
Перейти к содержимому

Qcombobox pyqt5 как получить значение

  • автор:

Python-сообщество

[RSS Feed]

  • Начало
  • » GUI
  • » pyqt5 получить значение QComboBox

#1 Авг. 1, 2020 12:36:52

Pacifist Зарегистрирован: 2020-01-10 Сообщения: 25 Репутация: 0 Профиль Отправить e-mail

pyqt5 получить значение QComboBox

Как в label получить значение из comboBox (словаря)? При выборе в comboBox Яблоко — в label должно быть 5

import sys from PyQt5 import QtCore, QtGui, QtWidgets class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(509, 137) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.comboBox = QtWidgets.QComboBox(self.centralwidget) self.comboBox.setGeometry(QtCore.QRect(40, 50, 171, 22)) self.comboBox.setObjectName("comboBox") self.label = QtWidgets.QLabel(self.centralwidget) self.label.setGeometry(QtCore.QRect(320, 50, 121, 21)) self.label.setStyleSheet("background-color: rgb(110, 166, 255);") self.label.setText("") self.label.setObjectName("label") MainWindow.setCentralWidget(self.centralwidget) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) list_name = 'Яблоко': 5, 'Дыня': 6, 'Груша': 7, 'Вишня': 9> class Proba(QtWidgets.QMainWindow): def __init__(self): super(Proba, self).__init__() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.comboBox.addItems(list_name) value = self.ui.comboBox.currentData() self.ui.label.setText(str(value)) app = QtWidgets.QApplication([]) application = Proba() application.show() sys.exit(app.exec()) 

#2 Авг. 1, 2020 13:36:56

rami Зарегистрирован: 2018-01-08 Сообщения: 280 Репутация: 71 Профиль Отправить e-mail

pyqt5 получить значение QComboBox

class Proba(QtWidgets.QMainWindow): def __init__(self): super(Proba, self).__init__() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.comboBox.addItems(list_name) self.ui.comboBox.currentIndexChanged[str].connect(self.text_to_label) def text_to_label(self, item_selected): self.ui.label.setText(str(list_name[item_selected])) 

Остальное как у вас.

Как получить выбранное(текущее) значение из QComboBox в одном окне и передать его в QLabel в другое окно

Author24 — интернет-сервис помощи студентам

Здравствуйте. Я пишу маленькую программку, и где есть 3 окна (приветственное, основное и конечное(чек)). И мне надо из
QComboBox в основной форме получить выбранные данные, а потом эти данные отобразить в Qlabel в другом окне. При моём коде название города в QComboBox выбирается, после я нажимаю кнопку, открывается чек, но там ничего не меняется, а потом, если снова попытаться выбрать что-то в QComboBox программа закрывается.
——Это основная проблема.
В основном окне кроме одного QComboBox есть ещё несколько элементов с выбором чего-либо, и кнопка, которая после выбора во всех
этих элементах должна открыть третью форму (чек), где будут выведены данные из основной формы в разные Qlabel.
——Возможно от этого что-то зависит.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
import sys from PyQt5 import uic from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QLabel import sqlite3 class SecondForm(QWidget): #это как бы главная форма, где происходит множество выборов def __init__(self, parent=None): super().__init__() uic.loadUi('date_time_and_transport_selection_1.ui', self) con = sqlite3.connect('cities.db') cur = con.cursor() query = "SELECT city FROM place" # здесь из бд берутся названия городов place = cur.execute(query).fetchall() for element in sorted(place): #названия городов из бд помещаю в QComboBox self.start_city.addItems(element) self.by_button.clicked.connect(self.open_check) # та самая кнопка self.open = OpenCheck() def open_check(self): # открытие чека self.open.show() self.start_city.activated[str].connect(self.onActivated) #так вроде должны браться текущие данные def onActivated(self, text): self.current = self.start_city.currentText() self.open = OpenCheck(self.current) class Trip(QMainWindow): #просто приветственная страничка с одной кнопкой и текстом def __init__(self): super().__init__() uic.loadUi('снг_trip.ui', self) self.pushButton.clicked.connect(self.open_second_form) self.sec = SecondForm() def open_second_form(self): self.sec.show() class OpenCheck(QWidget): # чек, где расположены Qlabel, которые я хочу заменить def __init__(self, parent=None): # на данные из формы(окна), где происходят главные действия и лежит QComboBox super().__init__(parent) self.parent = parent uic.loadUi('check.ui', self) self.current = self.city_1 if __name__ == '__main__': app = QApplication(sys.argv) ex = Trip() ex.show() sys.exit(app.exec())

Получить значение QComboBox из QTableWidget из другого метода, где строки таблицы создаются по нажатию кнопки и получить значение по адресу ячейки

У меня в таблице QTableWidget строки создаются по нажатию кнопки, где внутри ячейки помещаю QComboBox, и хочу получить значение QComboBox из другого метода. Проблема в том, что когда я создаю QComboBox в основном классе окна, у меня при клике не создается несколько QComboBox, а только в последней строке. А когда создаю внутри метода когда нажимаю кнопку могу создать несколько QComboBox, но не могу обратится к QComboBox по адресу ячейки в QTableWidget. Ниже я привел мой код, где строки и стоблцы создаются по клику на кнопку, где я пытался обратится через метод QTableWidget.cellWidget(1, 1), но у меня просто вылетает программа без TraceBack.

import sys from PyQt5 import QtWidgets from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout class MyWindow(QtWidgets.QMainWindow): def __init__(self, parent=None): super().__init__() self.centralWidget = QWidget() self.setCentralWidget(self.centralWidget) self.row_count = 1 self.table_index = 0 self.tableWidget = QtWidgets.QTableWidget() self.tableWidget.setRowCount(0) self.tableWidget.setColumnCount(2) self.button = QtWidgets.QPushButton('Добавить строки таблицы') self.button_1 = QtWidgets.QPushButton('Вывести значение ячейки') self.layout = QVBoxLayout(self.centralWidget) self.layout.addWidget(self.tableWidget) self.layout.addWidget(self.button) self.layout.addWidget(self.button_1) self.button.clicked.connect(self.add_cells) self.button_1.clicked.connect(self.print_cells) def add_cells(self): # метод для добавления строки и ячеек self.tableWidget.setRowCount(self.row_count) self.tableWidget.setItem(self.table_index, 0, QtWidgets.QTableWidgetItem('Nokia')) combobox = QtWidgets.QComboBox() # Создаю combobox combobox.addItem('Продано') combobox.addItem('В наличии') self.tableWidget.setCellWidget(self.table_index, 1, combobox) self.row_count += 1 self.table_index += 1 def print_cells(self): print(self.tableWidget.item(0, 0).text()) print(self.tableWidget.cellWidget(1, 1).text()) # Запрос значения из ComboBox (вылетает ошибка) if __name__ == '__main__': app = QApplication(sys.argv) w = MyWindow() w.show() sys.exit(app.exec_()) 

Вопросы с меткой [qcombobox]

QComboBox — это класс Qt, который реализует стандартное поле со списком, представляющее собой список элементов, которые могут сокращаться, чтобы занимать меньше места на экране, и расширяться, чтобы отображать все параметры.

66 вопросов
Новые Текущие Конкурсные Неотвеченные Ещё

  • Конкурсные 0
  • Неотвеченные
  • Цитируемые
  • Рейтинг
  • Неотвеченные (мои метки)

350 показов

Как убрать тень у выпадающего списка QComboBox?

Можно ли как-то убрать тень у списка? И как поменять цвет выделения вместо стандартного синего? И что эта за пунктированная рамка такая? Как ее убрать?

50 показов

Отображение изображений согласно выбранной строке в QComboBox

Необходимо отобразить изображение согласно выбранной строке в QComboBox. Добавил код взаимодействия, стал появляться просто серый экран. Что должно быть прикрепляю на изображениях: main.py: from .

59 показов

Как передать в датафрейм выбранные из QComboBox (который вставлен в ячейку QTableWidget) значения?

У меня есть QTableWidget, содержащий столбец, полностью заполненный QComboBox. Значения этого QTableWidget передаю в pandas.DataFrame(). Проблема в том, что в датафрейм не передаются значения из .

275 показов

Как поменять обводку выбранного элемента из QComboBox. Qt Designer StyleSheet

Этот код меняет background объектов в QComboBox при наведении: QComboBox QListView < selection-background-color: rgb(255, 255, 255); >test.ui
363 показа

Как сделать чтобы при выборе значения QCombobox, который создается в таблице QTableWidget без указания имени по итерации срабатывал метод

Я пытаюсь понять, как сделать так, чтобы при выборе QCombobox, который создается без явного указания имени по нажатию кнопки в таблице QTableWidget срабатывал какой-нибудь метод. Внизу приведен пример .

50 показов

При реализации паттерна «Наблюдатель» сообщения виджетов QComboBox отправляются наблюдателям в обратном порядке и задваиваются

Есть две радиокнопки, за изменением состояния которых следит класс PageLayout. / За изменением состояния комбобокса ComboBoxPrinter следит другой комбобокс ComboBoxPaperSize. За изменением .

85 показов

Изменение ширины виджета QComboBox

Я написал графический интерфейс на PyQt5 с таблицей и полями для ввода данных для фильтрации в таблице. Поле над столбцом «Код события» реализовано с помощь QComboBox. self.

50 показов

Как организовать взаимодействие двух виджетов через третий класс

Есть два экземпляра QComboBox в разных классах. Необходимо, чтобы при выборе значения из одного комбобокса, такое значение появлялось в другом комбобоксе. Взаимодействие комбобоксов должно .

39 показов

Как редактировать элемент QComboBox?

Всем,привет! Подскажите, пожалуйста, как я могу отредактировать элемент из списка QComboBox? Я подумал что можно было бы обработать событие клика на какой нибудь из элементов внутри списка, но как .

152 показа

Как убрать обводку выделенного элемента QComboBox?

В данном случае можно увидеть рамку в элементе номер 3 (ее нужно убрать) вот код from PyQt5 import QtWidgets from PyQt5.QtWidgets import * from PyQt5.QtCore import Qt from PyQt5.QtGui import QBrush, .

28 показов

Удаление значений QComboBox из JSON

Написал функцию удаления выбранных слов в QComboBox из файла JSON по индексу: #Функция удаления слов из выпадающего списка def wordDeleting(self): with open(«spec.json», «r+») .

40 показов

Как использовать переменную для обращения к виджетам по порядковому номеру?

Пишу свой первый проект на Python + PyQt столкнулся с такой проблемой: def comboBox_add_data(self): «»» функция добавления данных полей чек бокса :return: «»&.

274 показа

Множественный выбор в QComboBox

Есть довольно простой код: from PyQt5.QtWidgets import QWidget, QLabel, QComboBox, QApplication import sys class Example(QWidget): def __init__(self): super().__init__() self.

Как преобразовать connect в переменную PyQt5

Мне нужно при изменении выбора элемента comboBox получить значение выбранного элемента, но возникает проблема в коде: при print(test) выводит:
133 показа

Как округлить углы выделенной рамки QComboBox?

Мне нужно сделать скругление для выбранного элемента, как я показал на картинке: main.py import sys from PyQt5 import QtWidgets from PyQt5.QtWidgets import * from PyQt5.QtCore import Qt class .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *