Как вызвать функцию - PullRequest
       8

Как вызвать функцию

0 голосов
/ 05 ноября 2019

Мне нужно поле со списком;ComboBox1 и ComboBox2. Я хотел бы получить значение из обоих полей со списком, чтобы получить результат, будь то «завтрак» или «обед»

Combobox1 будет получать данные часов, например, 07,08,09,10 combobox2 будет получатьданные минут, например 30,59 и т. д.

Предполагаемый результат - система получит эти два значения и определит, будет ли это завтрак или обед. Один пример - это 07 и 59, то есть 7:59 утра, и это завтрак.

У меня есть две функции, которые печатают значение, выбранное пользователем отдельно ... Я хотел бы напечатать «Вы выбрали» 07: 59 '"Кроме того, я хотел бы, чтобы система определила, что это завтрак, чтобы я мог открыть страницу завтрака, когда перейду на следующую страницу.

        page.comboBox.addItems(selecthour)
    page.comboBox.activated[str].connect(self.onComboActivated)

    page.comboBox.setGeometry(150,30,105,40)

    page.comboBox2.addItems(selectmin)
    page.comboBox2.activated[str].connect(self.onCombo2Activated)
    page.comboBox2.setGeometry(280,30,105,40)


    def onCombo2Activated(self, text):
        print("choose time: {}".format(text))
        if 800<= int(text) <= 1200:
            print('Hello')

1 Ответ

1 голос
/ 05 ноября 2019

Попробуйте:

import sys
from PyQt5 import QtWidgets


class Main(QtWidgets.QDialog):
    def __init__(self):
        super(Main, self).__init__()

        selecthour = [ '{:>02}'.format(i) for i in range(6, 23)]
        selectmin  = [ '{:>02}'.format(i) for i in range(0, 60)]

        self.comboBox = QtWidgets.QComboBox(self)
        self.comboBox.addItems(selecthour)
        self.comboBox.activated[str].connect(lambda ch, c='hour': self.onComboActivated(ch, c))
        self.comboBox.setGeometry(150, 30, 105, 40)

        self.comboBox2 = QtWidgets.QComboBox(self)
        self.comboBox2.addItems(selectmin)
        self.comboBox2.activated[str].connect(lambda ch, c='min': self.onComboActivated(ch, c))
        self.comboBox2.setGeometry(280,30,105,40)        

    def onComboActivated(self, text, c):
        print("\nchoose  time: {} - {}".format(text, c))

        print("current time: {}:{}".format(self.comboBox.currentText(), self.comboBox2.currentText()))

        text = "{}{}".format(self.comboBox.currentText(), self.comboBox2.currentText())
        if '0730' <= text <= '1130': 
            print('Hello, breakfast') 
        elif '1131' <= text <= '1600': 
            print('Hello, lunch') 
        elif '1601' <= text <= '1900': 
            print('Hello, supper') 
        else: 
            print('It’s harmful to eat at this time.')          


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    main = Main()
    main.show()
    sys.exit(app.exec_())

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...