PyQt запускает функции кнопок при запуске - PullRequest
0 голосов
/ 29 апреля 2018

Я создал пользовательский интерфейс, используя Qt Designer для приложения на Python.

Основная функция моего приложения запускается при нажатии кнопки, например:

self.button.clicked.connect(get_data(arg1, arg2, arg3))

Чтобы создать интерфейс при запуске программы, вот мой основной метод:

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QDialog()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)

Однако функция «get_data» запускается сразу после запуска, несмотря на то, что кнопка даже не отображается на моем экране. Как я могу остановить запуск функции сразу после запуска?

1 Ответ

0 голосов
/ 29 апреля 2018

Это потому, что вы пытаетесь связать событие clicked с результатом функции get_data. То, что вы хотите сделать, это подключить его к фактической функции, например так:

self.button.clicked.connect(get_data)

Вам нужно найти другой способ передачи аргументов в get_data. lambda будет работать, но я буду использовать другие методы (например, создание класса)

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