Вопрос

Есть ли способ предложить пользователю выйти из графического интерфейса, написанного на Python?

Что-то вроде «Вы уверены, что хотите выйти из программы?»

Я использую 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 руководство упомянутый Лас3Рджок имеет хорошее обсуждение этого.Также посмотрите ссылки из Страница PyQt на Python.org, в частности официальная ссылка, чтобы узнать больше о событиях и способах их обработки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top