Есть ли способ заставить пользователя выйти из GUI-программы, написанной на Python?Запрос на выход в приложении PyQt
Что-то вроде «Вы действительно хотите выйти из программы?»
Я использую PyQt.
Есть ли способ заставить пользователя выйти из GUI-программы, написанной на Python?Запрос на выход в приложении PyQt
Что-то вроде «Вы действительно хотите выйти из программы?»
Я использую PyQt.
Да. Вам необходимо переопределить поведение по умолчанию для QWidget, представляющее ваше приложение, чтобы оно не сразу принимало событие. Базовая структура вы хотите что-то вроде этого:
def closeEvent(self, event):
quit_msg = "Are you sure you want to exit the program?"
reply = QtGui.QMessageBox.question(self, 'Message',
quit_msg, QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
if reply == QtGui.QMessageBox.Yes:
event.accept()
else:
event.ignore()
PyQt tutorial упоминается las3rjock имеет приятное обсуждение этого. Также проверьте ссылки с PyQt page на Python.org, в частности official reference, чтобы узнать больше о событиях и как их обрабатывать.
О, спасибо большое! –
Как установить «да» и «нет» на другой язык? Если мое сообщение, например, на немецком языке, я хочу «ja» и «nicht» вместо «yes» и «no». – Aleksandar
работал для меня из коробки (без каких-либо изменений)! –
Посмотрите раздел «Message Box» [эта часть руководства PyQt4] (http://zetcode.com/tutorials/pyqt4/firstprograms/). * (ответ от [las3rjock] (http://stackoverflow.com/users/94732/las3rjock)) * –
Посмотрите раздел «Message Box» в [этой части руководства PyQt4] (http://zetcode.com/учебники/PyQt4/firstprograms /). – las3rjock