Source code for quicknxs.interfaces.event_handlers.widgets

"""Zoo for customized simple widgets."""

from qtpy.QtWidgets import QDialog, QDialogButtonBox, QLabel, QVBoxLayout


[docs] class AcceptRejectDialog(QDialog): """ Customized widget for user to accept or reject a state. Refer to: https://www.mfitzp.com/tutorials/pyqt-dialogs/ """ def __init__(self, parent=None, title="", message=""): super(AcceptRejectDialog, self).__init__(parent) self.setWindowTitle(title) # Button box QBtn = QDialogButtonBox.Ok | QDialogButtonBox.Cancel self.buttonBox = QDialogButtonBox(QBtn) self.buttonBox.accepted.connect(self.accept) self.buttonBox.rejected.connect(self.reject) # Set layout self.layout = QVBoxLayout() message = QLabel(message) self.layout.addWidget(message) self.layout.addWidget(self.buttonBox) self.setLayout(self.layout) # Flag to show (1) None: not Ok or Cancel (2) True: accepted (3) False: rejected self.m_status = None
[docs] def accept(self): super(AcceptRejectDialog, self).accept() self.m_status = True
[docs] def reject(self): super(AcceptRejectDialog, self).reject() self.m_status = False
[docs] def is_accepted(self): return self.m_status