def show_success(self): box = QMessageBox() box.setWindowTitle('Export Complete') box.setWindowIcon(self.icon) box.setText( 'Success. The file has been exported and should show up in the same folder as this program.\n\nDCC by Gideon Tong v1.0' ) box.exec_()
def information_message_box(win_title: str, msg: str): msg_box = QMessageBox() msg_box.setIcon(QMessageBox.Information) msg_box.setWindowIcon(QIcon(str(pkg_data.LOGO))) msg_box.setText(msg) msg_box.setWindowTitle(win_title) msg_box.setStandardButtons(QMessageBox.Ok) msg_box.exec()
def prompt_calc_dvh(self): """ Windows displays buttons in a different order from Linux. A check for platform is performed to ensure consistency of button positioning across platforms. """ message = "DVHs not present in RTDOSE or do not correspond to ROIs. " message += "Would you like to calculate DVHs? (This may take up to " message += "several minutes on some systems.)" if platform.system() == "Linux": choice = QMessageBox.question(self, "Calculate DVHs?", message, QMessageBox.Yes | QMessageBox.No) if choice == QMessageBox.Yes: self.signal_advise_calc_dvh.emit(True) else: self.signal_advise_calc_dvh.emit(False) else: stylesheet_path = "" # Select appropriate style sheet if platform.system() == 'Darwin': stylesheet_path = Path.cwd().joinpath('res', 'stylesheet.qss') else: stylesheet_path = Path.cwd().joinpath( 'res', 'stylesheet-win-linux.qss') # Create a message box and add attributes mb = QMessageBox() mb.setIcon(QMessageBox.Question) mb.setWindowTitle("Calculate DVHs?") mb.setText(message) button_no = QtWidgets.QPushButton("No") button_yes = QtWidgets.QPushButton("Yes") # We want the buttons 'No' & 'Yes' to be displayed in that # exact order. QMessageBox displays buttons in respect to # their assigned roles. (0 first, then 1 and so on) # 'AcceptRole' is 0 and 'RejectRole' is 1 thus by assigning # 'No' to 'AcceptRole' and 'Yes' to 'RejectRole' the buttons # are positioned as desired. mb.addButton(button_no, QtWidgets.QMessageBox.AcceptRole) mb.addButton(button_yes, QtWidgets.QMessageBox.RejectRole) # Apply stylesheet to the message box and add icon to the window mb.setStyleSheet(open(stylesheet_path).read()) mb.setWindowIcon( QtGui.QIcon( resource_path(Path.cwd().joinpath('res', 'images', 'btn-icons', 'onkodicom_icon.png')))) mb.exec_() if mb.clickedButton() == button_yes: self.signal_advise_calc_dvh.emit(True) else: self.signal_advise_calc_dvh.emit(False)
def question_message_box(win_title: str, msg: str): msg_box = QMessageBox() msg_box.setIcon(QMessageBox.Question) msg_box.setWindowIcon(QIcon(str(pkg_data.LOGO))) msg_box.setText(msg) msg_box.setWindowTitle(win_title) msg_box.setStandardButtons(QMessageBox.Yes | QMessageBox.No | QMessageBox.Cancel) reply = msg_box.exec() return reply
def show_choice(text="", confirm_text="确认", deny_text="取消", confirm_cb=None, deny_cb=None): box = QMessageBox() box.setWindowTitle(Message.LEVEL_NAMES[Level.Info.value]) box.setWindowIcon(QIcon(GResource.icon_window)) box.setText(text) box.addButton(confirm_text, QMessageBox.AcceptRole) box.addButton(deny_text, QMessageBox.RejectRole) reply = box.exec_() if reply == QMessageBox.AcceptRole: Globals.call(confirm_cb) elif reply == QMessageBox.RejectRole: Globals.call(deny_cb)