我们从Python开源项目中,提取了以下35个代码示例,用于说明如何使用PyQt5.QtWidgets.QMessageBox.question()。
def __init__(self): super(MainFrame, self).__init__() # ??qt????????????? self.clipboard = QtGui.QGuiApplication.clipboard() self.setupUi(self) self.connects() # ??????????????focusoutevent??????bug self.setFocus() self.setFocusPolicy(QtCore.Qt.StrongFocus) # todo: ????? self.query = Query() # self.setWindowFlags(QtCore.Qt.Popup) self.player = QMediaPlayer() # ????????? (????) self.open = True # ???? has_new, r_version = version_check() if has_new: QMessageBox.question(self, '????', 'Github??????? %s\n https://github.com/FindHao/ciba/releases' % r_version, QMessageBox.Yes, QMessageBox.No)
def _save_as(self): path, ok = QFileDialog.getSaveFileName(self.modeler, caption="Save OPC UA XML", filter="XML Files (*.xml *.XML)") if ok: if os.path.isfile(path): reply = QMessageBox.question( self.modeler, "OPC UA Modeler", "File already exit, do you really want to save to this file?", QMessageBox.Yes | QMessageBox.No | QMessageBox.Cancel ) if reply != QMessageBox.Yes: return if self._last_model_dir != os.path.dirname(path): self._last_model_dir = os.path.dirname(path) self.settings.setValue("last_model_dir", self._last_model_dir) self._model_mgr.save_model(path)
def forget_creds(self): """ Description: Invoked when the user clicks on the 'Forget credentials' button in the toolbar. Arguments: None Returns: Nothing """ global conf self.lastclick = int(time()) # Last click timestamp update reply = QMessageBox.question(None, _('apptitle') + ': ' + _('confirm'), _('confirm_forget_creds'), QMessageBox.Yes | QMessageBox.No, QMessageBox.No) if reply == QMessageBox.Yes: remove(conf.USERCREDSFILE) self.forgetCredsAction.setDisabled(True) QMessageBox.information(None, _('apptitle') + ': ' + _('success'), _('creds_forgotten'))
def confirm_quit(self): """ Description: Asks for confirmation from the user's side to close the app. Arguments: None Returns: True if the user wants to close the app, False otherwise. """ global conf reply = QMessageBox.question(None, _('apptitle') + ': ' + _('confirm'), _('confirm_quit'), QMessageBox.Yes | QMessageBox.No, QMessageBox.No) if reply == QMessageBox.Yes: self.logout(reconnect=False) return True else: return False
def upgrade(self): response = QMessageBox.question( self.anki.window(), 'AnkiConnect', 'Upgrade to the latest version?', QMessageBox.Yes | QMessageBox.No ) if response == QMessageBox.Yes: data = download(URL_UPGRADE) if data is None: QMessageBox.critical(self.anki.window(), 'AnkiConnect', 'Failed to download latest version.') else: path = os.path.splitext(__file__)[0] + '.py' with open(path, 'w') as fp: fp.write(makeStr(data)) QMessageBox.information(self.anki.window(), 'AnkiConnect', 'Upgraded to the latest version, please restart Anki.') return True return False
def save_protocol(self): for msg in self.proto_analyzer.messages: if not msg.decoder.is_nrz: reply = QMessageBox.question(self, "Saving of protocol", "You want to save this protocol with an encoding different from NRZ.\n" "This may cause loss of information if you load it again.\n\n" "Save anyway?", QMessageBox.Yes | QMessageBox.No) if reply != QMessageBox.Yes: return else: break text = "protocol" filename = FileOperator.get_save_file_name("{0}.proto.xml".format(text), caption="Save protocol") if not filename: return self.proto_analyzer.to_xml_file(filename=filename, decoders=self.decodings, participants=self.project_manager.participants, write_bits=True)
def save_before_close(self): if not self.already_saved and self.device.current_index > 0: reply = QMessageBox.question(self, self.tr("Save data?"), self.tr("Do you want to save the data you have captured so far?"), QMessageBox.Yes | QMessageBox.No | QMessageBox.Abort) if reply == QMessageBox.Yes: self.on_save_clicked() elif reply == QMessageBox.Abort: return False try: sample_rate = self.device.sample_rate except: sample_rate = 1e6 self.files_recorded.emit(self.recorded_files, sample_rate) return True
def cancel_update(self): if not self.finish: reply = QMessageBox.question( self, '????', '???????', QMessageBox.Yes | QMessageBox.No, QMessageBox.No) if reply == QMessageBox.Yes: pl.kill_thread(name='update') self.timer.stop() STATUS.UPDATE, STATUS.UPDATE_ALL, STATUS.UPDATE_NOW = None, 0, 0 self.close() else: self.close() if STATUS.UPDATE_DLG: STATUS.UPDATE_DLG.close() STATUS.UPDATE_DLG = None if STATUS.MAIN: STATUS.MAIN.user_info_table_update() STATUS.MAIN.show_update_result()
def delete_endpoint(self): if QMessageBox.question(self.view, ' ', 'Delete this endpoint?') == QMessageBox.Yes: path = str(BASE_PATH / 'endpoints' / (urlparse(self.base_url).netloc + '.json')) with open(path) as fd: json = load(fd, object_pairs_hook=OrderedDict) json.remove(self.endpoint) with open(path, 'w') as fd: dump(json, fd, ensure_ascii=False, indent=4) if not json: remove(path) self.load_endpoints()
def closeEvent(self, event): reply = QMessageBox.question(self, 'Message', 'Are you sure you want to quit?', QMessageBox.Yes | QMessageBox.No, QMessageBox.No) if reply == QMessageBox.Yes: event.accept() else: event.ignore()
def closeEvent(self, event): reply = QMessageBox.question(self, 'Message', 'Are you sure you want to quit?', QMessageBox.Yes | QMessageBox.No, QMessageBox.No) if reply == QMessageBox.Yes: event.accept() else: event.ignore() # def quitApp(self): # QCoreApplication.instance().quit()
def closeEvent(self, event): reply = QMessageBox.question(self, 'Message', "Are you sure to quit?", QMessageBox.Yes | QMessageBox.No, QMessageBox.No) if reply == QMessageBox.Yes: event.accept() else: event.ignore()
def Exit(self): reply = QMessageBox.question(self, "Exit?", "Would you like to exit?", QMessageBox.Yes | QMessageBox.No, QMessageBox.No) if reply == QMessageBox.Yes: sys.exit() # sys.exit()
def closeEvent(self, event): reply = QMessageBox.question(self, 'Message', "Are you sure to quit?", QMessageBox.Yes | QMessageBox.No, QMessageBox.No) if reply == QMessageBox.Yes: if success==1: self.Connect.ssh.close() event.accept() else: event.ignore()
def on_click(self): textboxValue = self.textbox.text() QMessageBox.question(self, 'Message - pythonspot.com', "You typed: " + textboxValue, QMessageBox.Ok, QMessageBox.Ok) self.textbox.setText("")
def initUI(self): self.setWindowTitle(self.title) self.setGeometry(self.left, self.top, self.width, self.height) buttonReply = QMessageBox.question(self, 'PyQt5 message', "Do you want to save?", QMessageBox.YesToAll | QMessageBox.No | QMessageBox.Cancel, QMessageBox.Cancel) print(int(buttonReply)) if buttonReply == QMessageBox.Yes: print('Yes clicked.') if buttonReply == QMessageBox.No: print('No clicked.') if buttonReply == QMessageBox.Cancel: print('Cancel') self.show()
def show_invite_form(self): nodedir = os.path.join(config_dir, 'default') if os.path.isdir(nodedir): reply = QMessageBox.question( self, "Tahoe-LAFS already configured", "Tahoe-LAFS is already configured on this computer. " "Do you want to overwrite your existing configuration?") if reply == QMessageBox.Yes: shutil.rmtree(nodedir, ignore_errors=True) else: return self.invite_form = InviteForm() self.invite_form.show() self.invite_form.raise_()
def delrow(self): if self.ui.tableWidget.currentIndex().row() > -1: self.model.removeRow(self.ui.tableWidget.currentIndex().row()) self.i -= 1 self.model.select() self.ui.lcdNumber.display(self.i) else: QMessageBox.question(self,'Message', "Please select a row would you like to delete", QMessageBox.Ok) self.show()
def updaterow(self): if self.ui.tableWidget.currentIndex().row() > -1: record = self.model.record(self.ui.tableWidget.currentIndex().row()) record.setValue("Name",self.ui.lineEdit.text()) record.setValue("Surname",self.ui.lineEdit_2.text()) record.setValue("DOB", self.ui.dateEdit.text()) record.setValue("Phone", self.ui.lineEdit_3.text()) self.model.setRecord(self.ui.tableWidget.currentIndex().row(), record) else: QMessageBox.question(self,'Message', "Please select a row would you like to update", QMessageBox.Ok) self.show()
def import_txt_v8(self): file_name = get_open_file_name(_('Open Ocad txt v8 file'), _("Ocad classes v8 (*.txt)")) if file_name is not '': try: ocad.import_txt_v8(file_name) except OcadImportException as e: logging.exception(str(e)) QMessageBox.question(self, _('Error'), _('Import error') + ': ' + file_name) self.init_model()
def try_close_model(self): if self._model_mgr.modified: reply = QMessageBox.question( self.modeler, "OPC UA Modeler", "Model is modified, do you really want to close model?", QMessageBox.Yes | QMessageBox.No | QMessageBox.Cancel ) if reply != QMessageBox.Yes: return False self._model_mgr.close_model(force=True) return True
def confirm_quit(self): """ Description: Confirm whether to quit or not the app. This option must be present in case the user cannot authenticate against oVirt, in which case the main window won't be shown but the application will exit instead. Arguments: None Returns: Nothing, just quits if user confirms. """ cq = QMessageBox.question(self, _('apptitle') + ': ' + _('confirm'), _('confirm_quit'), QMessageBox.Yes | QMessageBox.No, QMessageBox.No) if cq == QMessageBox.Yes: quit()
def change_status(self, rowid): """ Description: If the user clicks on the column which determines VM's status, we'll allow them to change VM's status. This method shows a confirmation dialog and if accepted, it will be notified to oVirt. Arguments: The row id that has been clicked. This relationship is stored using the VmData class. Returns: Nothing """ global conf self.lastclick = int(time()) # Last click timestamp update curvmstatus = self.vmdata[rowid].vmstatus if curvmstatus != 'up' and curvmstatus != 'down': QMessageBox.warning(None, _('apptitle') + ': ' + _('warning'), _('vm_in_unchangeable_status')) return reply = QMessageBox.question(None, _('apptitle') + ': ' + _('confirm'), '%s <b>%s</b>. %s: <b>%s</b>.' % (_('current_vm_status'), self.current_vm_status(curvmstatus), _('confirm_vm_status_change'), self.toggle_vm_action(curvmstatus)), QMessageBox.Yes | QMessageBox.No, QMessageBox.No) if reply == QMessageBox.Yes: try: vm = conf.OVIRTCONN.vms.get(id=self.vmdata[rowid].vmid) except ConnectionError: QMessageBox.critical(None, _('apptitle') + ': ' + _('error'), _('unexpected_connection_drop')) quit() if curvmstatus == 'up': try: vm.shutdown() QMessageBox.information(None, _('apptitle') + ': ' + _('success'), _('shutting_down_vm')) except RequestError: QMessageBox.warning(None, _('apptitle') + ': ' + _('warning'), _('vm_in_unchangeable_status')) if curvmstatus == 'down': try: vm.start() QMessageBox.information(None, _('apptitle') + ': ' + _('success'), _('powering_up_vm')) except RequestError: QMessageBox.warning(None, _('apptitle') + ': ' + _('warning'), _('vm_in_unchangeable_status'))
def modelFieldsOnTemplates(self, modelName): model = self.collection().models.byName(modelName) if model is not None: templates = {} for template in model['tmpls']: fields = [] for side in ['qfmt', 'afmt']: fieldsForSide = [] # based on _fieldsOnTemplate from aqt/clayout.py matches = re.findall('{{[^#/}]+?}}', template[side]) for match in matches: # remove braces and modifiers match = re.sub(r'[{}]', '', match) match = match.split(":")[-1] # for the answer side, ignore fields present on the question side + the FrontSide field if match == 'FrontSide' or side == 'afmt' and match in fields[0]: continue fieldsForSide.append(match) fields.append(fieldsForSide) templates[template['name']] = fields return templates
def guiCurrentCard(self): if not self.guiReviewActive(): return reviewer = self.reviewer() card = reviewer.card model = card.model() note = card.note() fields = {} for info in model['flds']: order = info['ord'] name = info['name'] fields[name] = {'value': note.fields[order], 'order': order} if card is not None: return { 'cardId': card.id, 'fields': fields, 'fieldOrder': card.ord, 'question': card._getQA()['q'], 'answer': card._getQA()['a'], 'buttons': [b[0] for b in reviewer._answerButtonList()], 'modelName': model['name'], 'deckName': self.deckNameFromId(card.did), 'css': model['css'] }
def unsaved_close_message(self): text = "Save changes to Downloader For Reddit?" reply = message.question(self, "Save Changes?", text, message.Yes | message.No | message.Cancel, message.Cancel) if reply == message.Yes: return "SAVE" elif reply == message.No: return "CLOSE" else: return "CANCEL"
def sigint_handler(*args): """Handler for the SIGINT signal.""" sys.stderr.write('\r') if QMessageBox.question(None, '', "Are you sure you want to quit?", QMessageBox.Yes | QMessageBox.No, QMessageBox.No) == QMessageBox.Yes: QApplication.quit()
def _warn_existing_output_dir(self, path): path = os.path.abspath(path) reply = QMessageBox.question(self, "Reuse previous data", "Intermediate files were found at\n{0}\nDo you want to reuse them?".format(path), QMessageBox.Yes | QMessageBox.No, QMessageBox.No) reuse = int(reply) == QMessageBox.Yes if not reuse: shutil.rmtree(path)
def confirm_on_empty(self, name): if not self._has_data: reply = QMessageBox.question(self, "Confirm Save Plot", "{0} plot is empty\nAre you sure you want to save it?".format(name), QMessageBox.Yes | QMessageBox.No, QMessageBox.No) return int(reply) == QMessageBox.Yes return True
def closeEvent(self, event): ''' Closing endPlate window. ''' ui_input = self.getuser_inputs() self.save_inputs(ui_input) reply = QMessageBox.question(self, 'Message', "Are you sure to quit?", QMessageBox.Yes, QMessageBox.No) if reply == QMessageBox.Yes: self.closed.emit() event.accept() else: event.ignore() # ********************************* Help Action *********************************************************************************************
def delete_object(self): indexes = self.get_selected_rows() if not len(indexes): return confirm = QMessageBox.question(self.get_main_window(), _('Question'), _('Please confirm'), QMessageBox.Yes | QMessageBox.No) if confirm == QMessageBox.No: return tab = self.get_current_tab_index() if tab == 0: race().delete_persons(indexes) # recalculate places ResultCalculation().process_results() self.get_main_window().refresh() elif tab == 1: race().delete_results(indexes) # recalculate places ResultCalculation().process_results() self.get_main_window().refresh() elif tab == 2: try: race().delete_groups(indexes) except NotEmptyException as e: logging.warning(str(e)) QMessageBox.question(self.get_group_table(), _('Error'), _('Cannot remove group')) self.get_main_window().refresh() elif tab == 3: try: race().delete_courses(indexes) except NotEmptyException as e: logging.warning(str(e)) QMessageBox.question(self.get_course_table(), _('Error'), _('Cannot remove course')) self.get_main_window().refresh() elif tab == 4: try: race().delete_organizations(indexes) except NotEmptyException as e: logging.warning(str(e)) QMessageBox.question(self.get_organization_table(), _('Error'), _('Cannot remove organization')) self.get_main_window().refresh()
def set_decoding(self, decoding: Encoding, messages=None): """ :param decoding: :param messages: None = set for all messages :return: """ if decoding is None: self.show_decoding_clicked.emit() else: if messages is None: messages = self.proto_analyzer.messages if len(messages) > 10: reply = QMessageBox.question(self, "Set decoding", "Do you want to apply the selected decoding to {} messages?".format( len(messages)), QMessageBox.Yes | QMessageBox.No) if reply != QMessageBox.Yes: self.ui.cbDecoding.blockSignals(True) self.ui.cbDecoding.setCurrentText("...") self.ui.cbDecoding.blockSignals(False) return self.show_all_cols() for msg in messages: msg.decoder = decoding self.clear_search() selected = self.ui.tblViewProtocol.selectionModel().selection() if not selected.isEmpty() and self.isVisible() and self.proto_analyzer.num_messages > 0: min_row = min(rng.top() for rng in selected) min_row = min_row if min_row < len(self.proto_analyzer.messages) else -1 try: msg = self.proto_analyzer.messages[min_row] except IndexError: msg = None self.__set_decoding_error_label(msg) else: self.__set_decoding_error_label(None) self.protocol_model.update() self.protocol_label_list_model.update() self.label_value_model.update() for lbl in self.proto_analyzer.protocol_labels: self.set_protocol_label_visibility(lbl) self.ui.tblViewProtocol.resize_columns()