Пример #1
0
def detailedErrorMessage(parent: Optional[QWidget], message: str, detailedInformation: str) -> None:
    message_box = QMessageBox(QMessageBox.Critical,
                              QApplication.applicationName(),
                              message,
                              QMessageBox.Ok,
                              parent)
    message_box.setDetailedText(detailedInformation)
    message_box.exec()
Пример #2
0
def errorMessage(parent: Optional[QWidget], message: str, dismissable: bool = False) -> None:
    if dismissable:
        _dismissableMessage(parent,
                            message,
                            QMessageBox.Critical,
                            QMessageBox.Ok,
                            _dismissed_error_messages)
    else:
        QMessageBox.critical(parent, QApplication.applicationName(), message)
Пример #3
0
def questionMessage(parent: Optional[QWidget], message: str, dismissable: bool = False) -> bool:
    if dismissable:
        button = _dismissableMessage(parent,
                                     message,
                                     QMessageBox.Question,
                                     QMessageBox.Yes | QMessageBox.No,
                                     _dismissed_question_messages)
    else:
        button = QMessageBox.question(parent, QApplication.applicationName(), message)

    return button == QMessageBox.Yes
Пример #4
0
def choiceDialog(parent: Optional[QWidget],
                 message: str,
                 labels: Iterable[str],
                 choices: Iterable[T],
                 show_cancel_button=True) -> T:
    buttons_to_choices = {}
    message_box = QMessageBox(QMessageBox.Question, QApplication.applicationName(), message, QMessageBox.NoButton, parent)

    for label, choice in zip(labels, choices):
        button = message_box.addButton(label, QMessageBox.ActionRole)
        buttons_to_choices[button] = choice

    if show_cancel_button:
        button = message_box.addButton(QMessageBox.Cancel)
        buttons_to_choices[button] = None

    message_box.exec()
    return buttons_to_choices[message_box.clickedButton()]
Пример #5
0
def _dismissableMessage(parent: Optional[QWidget],
                        message: str,
                        icon: QIcon,
                        buttons: QMessageBox.StandardButton,
                        dismissed_messages: MutableMapping[
                            str, QMessageBox.StandardButton]) -> QMessageBox.StandardButton:
    if message in dismissed_messages:
        return dismissed_messages[message]

    message_box = QMessageBox(icon, QApplication.applicationName(), message, buttons, parent)
    checkbox = QCheckBox(message_box)
    checkbox.setText('Don\'t warn again')
    message_box.setCheckBox(checkbox)
    button = message_box.exec()

    if checkbox.isChecked():
        dismissed_messages[message] = button

    return button
Пример #6
0
def informationMessage(parent: Optional[QWidget], message: str, dismissable: bool = False) -> None:
    if dismissable:
        _dismissableMessage(parent, message, QMessageBox.Information, QMessageBox.Ok, _dismissed_information_messages)
    else:
        QMessageBox.information(parent, QApplication.applicationName(), message)