Форум сайта python.su
0
import sys from PyQt5.QtWidgets import QWidget, QMessageBox, QApplication, QLabel, QPushButton class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): ask = QLabel('123',self) ask.move(1,1) btn = QPushButton ('NET',self) self.setGeometry(300, 300, 250, 150) self.setWindowTitle('Message box') self.show() def closeEvent(self, event): reply = QMessageBox.question(self, 'Message', "Are you sure to quit?", QMessageBox.Yes | QMessageBox.No, QMessageBox.No) if reply == QMessageBox.Yes: event.accept() else: event.ignore() if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())
Офлайн
294
Это что, шутка юмора такая?
В вашем случае достаточно btn.clicked.connect(self.close)
Но если подходить формально, чтобы соединить кнопку с вашей функцией, то даже не знаю что сказать.
Вызвать вы ее можете, только вот она нифига вам не закроет окно, поскольку сам по себе вызов closeEvent() не закрывет окно.
[code python][/code]
Отредактировано PEHDOM (Окт. 6, 2017 10:01:08)
Офлайн
0
Не подскажете, какие события могут быть вместо close в btn.clicked.connect(self.close). Да и вообще какие есть события, может я плохо искал, но ничего не нашел
Офлайн
0
Можно ли скомпилировать файл.py в файл.ехе, чтоб при включении он работал без установленного python3 и PyQt5?
Скомпилировать на убунту чтоб открывалась на винде
Отредактировано salvoronis (Окт. 7, 2017 13:00:34)
Офлайн
294
salvoronisclose это не событие, close это метод (или слот). Cобытие это btn.clicked. Вы соединяете событие нажатия кнопки с действием self.close. Соответвнно когда происходит событие (кнопка нажата) выполняеться действие (в данном случае
Не подскажете, какие события могут быть вместо close в btn.clicked.connect(self.close)
salvoronisя вроде тут http://python.su/forum/topic/33664/ уже давал более-менее развернутый ответ.
Можно ли скомпилировать файл.py в файл.ехе, чтоб при включении он работал без установленного python3 и PyQt5?
Скомпилировать на убунту чтоб открывалась на винде
[code python][/code]
Офлайн