Нужно узнать какой QComboBox выбрал пользователь
Есть программа на Python с использованием PyQt5.
Имеются 3 QComboBox:
- ComboFizAkt - уровень физической активности, в котором 4 варианта выбора.
- ComboCel - цель (хочу похудеть, хочу улучшить фигуру и т.д.), в котором 3 варианта выбора.
- ComboTrenirovki - кол-во тренировок в неделю, в котором 7 вариантов выбора.
Мне нужно узнать какой комбобокс выбрал пользователь и мне нужно, чтобы я мог использовать выбор в коде.
self.LvlFizAkt.setText("Уровень физической активности:")
self.ComboFizAkt.setItemText("Сидячий")
self.ComboFizAkt.setItemText("Слабый физ. труд")
self.ComboFizAkt.setItemText("Преобладает физ. труд")
self.ComboFizAkt.setItemText("Тяжёлый физ. труд")
self.ComboFizAkt.setItemText("Очень тяжёлый физ. труд")
self.ViborCeli.setText("Ваша цель:")
self.ComboCel.setItemText("Ничего не хочу")
self.ComboCel.setItemText("Хочу похудеть")
self.ComboCel.setItemText("Хочу улучшить фигуру")
self.ComboCel.setItemText("Хочу набрать мыш. массу")
self.KolvoTrenirovok.setText("Кол-во тренировок в неделю:")
self.ComboTrenirovki.setItemText("0")
self.ComboTrenirovki.setItemText("1")
self.ComboTrenirovki.setItemText("2")
self.ComboTrenirovki.setItemText("3")
self.ComboTrenirovki.setItemText("4")
self.ComboTrenirovki.setItemText("5")
self.ComboTrenirovki.setItemText("6")
self.ComboTrenirovki.setItemText("7+")
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Попробуйте так:
from PyQt5 import QtGui, QtCore, QtWidgets
class Widget(QtWidgets.QWidget):
def __init__(self):
super().__init__()
self.label = QtWidgets.QLabel()
self.comboFizAkt = QtWidgets.QComboBox()
self.comboFizAkt.addItems(
["Сидячий",
"Слабый физ. труд",
"Преобладает физ. труд",
"Очень тяжёлый физ. труд"
]
)
self.comboCel = QtWidgets.QComboBox()
self.comboCel.addItems(
["Ничего не хочу",
"Хочу похудеть",
"Хочу улучшить фигуру",
"Хочу набрать мыш. массу"
]
)
self.comboTrenirovki = QtWidgets.QComboBox()
self.comboTrenirovki.addItems(
["0", "1", "2", "3", "4", "5", "6", "7+"]
)
self.button = QtWidgets.QPushButton("Проверить выбор пользователя")
self.button.clicked.connect(self.onClicked)
self.comboFizAkt.activated.connect(self.label.clear)
self.comboCel.activated.connect(self.label.clear)
self.comboTrenirovki.activated.connect(self.label.clear)
layout = QtWidgets.QFormLayout(self)
layout.addRow(QtWidgets.QLabel("Уровень физической активности:"), self.comboFizAkt)
layout.addRow(QtWidgets.QLabel("Ваша цель:"), self.comboCel)
layout.addRow(QtWidgets.QLabel("Кол-во тренировок в неделю:"), self.comboTrenirovki)
layout.addRow(self.button)
layout.addRow(self.label)
def onClicked(self):
text1 = self.comboFizAkt.currentText()
text2 = self.comboCel.currentText()
text3 = self.comboTrenirovki.currentText()
self.label.setText(f'''
{text1}
{text2}
{text3}
''')
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
w = Widget()
w.show()
sys.exit(app.exec_())
