def yes_no_cancel_dlg(parent,text):
if parent!=None:
msgBox = QMessageBox(parent)
msgBox.setIcon(QMessageBox.Question)
msgBox.setText("Question")
msgBox.setInformativeText(text)
msgBox.setStandardButtons(QMessageBox.Yes| QMessageBox.No| QMessageBox.Cancel )
msgBox.setDefaultButton(QMessageBox.No)
reply = msgBox.exec_()
if reply == QMessageBox.Yes:
return "yes"
elif reply == QMessageBox.No:
return "no"
else:
return "cancel"
else:
reply = input(text+"y/n/c")
if reply == "y":
return "yes"
elif reply == "n":
return "no"
else:
return "cancel"
python类Yes()的实例源码
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 closeEvent(self, event):
"""
close window event
:return:
"""
if not hasattr(self, 'case_edit_window'): # case_edit_window is not exist
self.close()
return
if not self.case_edit_window.isVisible(): # case_edit_window is not visible
self.close()
return
# signal for case_edit_window's closeEvent
self.case_edit_window.close_cancel_signal.connect(self.editor_close_ignore, Qt.DirectConnection)
# case_edit_window is visible
reply = self.message_box.question(self, "Confirm Close?", "The editor is opened, still close?",
QMessageBox.Yes | QMessageBox.Cancel)
if reply == QMessageBox.Yes:
self.is_editor_close_cancel = False
self.case_edit_window.close()
if self.is_editor_close_cancel: # editor close is canceled
event.ignore()
return
self.close()
else:
event.ignore()
def conflict_tags_submit(self):
"""
submit conflict tags
:return:
"""
updata_tag_message_list = self.get_table_data()
again_conflict_data = self.get_conflict_data(updata_tag_message_list)
self.wait_dialog = WaitDialog(self)
self.wait_dialog.setWindowModality(Qt.ApplicationModal)
if again_conflict_data:
message = str(again_conflict_data) + " has existed, whether to continue to submit"
reply = QMessageBox.information(self, "merge conflicts", message, QMessageBox.Yes | QMessageBox.No)
if reply == QMessageBox.Yes:
self.wait_dialog.show()
thread = Thread(target=self.case_data_manager.merge_conflict_data_callback,
args=(updata_tag_message_list, self.callback))
thread.start()
else:
self.wait_dialog.show()
thread = Thread(target=self.case_data_manager.merge_conflict_data_callback,
args=(updata_tag_message_list, self.callback))
thread.start()
def closeEvent(self, close_even):
if self.tag_id_line_edit.text() != '':
if self.tag.name != self.tag_name_line_edit.text() or self.tag.description != self.tag_description_text_edit.toPlainText():
reply = QMessageBox.information(self, 'close window', 'Changes not saved, confirm close?',
QMessageBox.Yes, QMessageBox.No)
if reply != QMessageBox.Yes:
close_even.ignore()
return
else:
if self.tag_id_line_edit.text() != '' or self.tag_description_text_edit.toPlainText() != '':
reply = QMessageBox.information(self, 'close window', 'Changes not saved, confirm close?',
QMessageBox.Yes, QMessageBox.No)
if reply != QMessageBox.Yes:
close_even.ignore()
return
self.refresh_signal.emit()
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 my_close(self):
settings = constants.SETTINGS
not_show = settings.value('not_show_close_dialog', False, type=bool)
if not not_show:
cb = QCheckBox("Do not show this again.")
msgbox = QMessageBox(QMessageBox.Question, "Confirm close", "Are you sure you want to close?")
msgbox.addButton(QMessageBox.Yes)
msgbox.addButton(QMessageBox.No)
msgbox.setDefaultButton(QMessageBox.No)
msgbox.setCheckBox(cb)
reply = msgbox.exec()
not_show_again = bool(cb.isChecked())
settings.setValue("not_show_close_dialog", not_show_again)
self.not_show_again_changed.emit()
if reply != QMessageBox.Yes:
return
self.closed.emit(self)
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 process_delete(self, process):
"""
Handle the removal of a B3 process.
"""
msgbox = QMessageBox()
msgbox.setIcon(QMessageBox.Question)
msgbox.setWindowTitle('CONFIRM')
msgbox.setText('Are you sure?')
msgbox.setInformativeText('Do you want to remove %s?' % process.name)
msgbox.setStandardButtons(QMessageBox.No|QMessageBox.Yes)
msgbox.setDefaultButton(QMessageBox.No)
msgbox.layout().addItem(QSpacerItem(300, 0, QSizePolicy.Minimum, QSizePolicy.Expanding),
msgbox.layout().rowCount(), 0, 1, msgbox.layout().columnCount())
msgbox.exec_()
if msgbox.result() == QMessageBox.Yes:
if process.state() != QProcess.NotRunning:
self.process_shutdown(process)
process.delete()
self.repaint()
def importmultisig(self):
n = self.spinBox_multisign.value()
addresses = str(self.plainTextEdit_multisigkeys.toPlainText()).splitlines()
for i in range(len(addresses)):
if addresses[i] in self.pubkeys:
addresses[i] = self.pubkeys[addresses[i]]
self.pushButton_importmultisig.setEnabled(False)
res = self.callzcash('addmultisigaddress', [n,addresses])
multisigaddress = str(self.lineEdit_multisigaddress.text())
messagebox = QMessageBox()
messagebox.setText("Importing address.\n\nDo you want to rescan the blockchain? \n\n Rescanning the blockchain allows to use the funds sent to the multisig address before this moment but will take several minutes. The program will be irresponsive during that time.\n\n If you don't rescan the blockchain, you will still be able to create payment orders for the funds that will be received in the future, or to sign orders created by other signers.")
messagebox.setWindowTitle("")
messagebox.setStandardButtons(QMessageBox.Yes | QMessageBox.No)
rescan = messagebox.exec_() == QMessageBox.Yes
self.callzcash('importaddress', [multisigaddress, "", rescan])
self.update()
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 onDelete(self):
student = self.selection
if not student:
return
confirm = QMessageBox.warning(QtWidgets.QWidget(),
"????", "????????",
QMessageBox.Yes | QMessageBox.No)
if confirm == QMessageBox.Yes:
item = self.tableIndex[student]
n = self.studentTable.topLevelItemCount()
for i in range(0, n):
if self.studentTable.topLevelItem(i) == item:
self.studentTable.takeTopLevelItem(i)
self.tableList.remove(student)
self.tableIndex.pop(student)
break
public.studentManager.delete(student)
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 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()
control_gpio_GUI.py 文件源码
项目:Remote_raspberrypi_GPIO_Control
作者: Rahul14singh
项目源码
文件源码
阅读 31
收藏 0
点赞 0
评论 0
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 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 yes_no_dlg(parent,text):
msgBox = QMessageBox(parent)
msgBox.setIcon(QMessageBox.Question)
msgBox.setText("Question")
msgBox.setInformativeText(text)
msgBox.setStandardButtons(QMessageBox.Yes| QMessageBox.No )
msgBox.setDefaultButton(QMessageBox.No)
reply = msgBox.exec_()
if reply == QMessageBox.Yes:
return True
else:
return False
def yes_no_cancel_dlg(parent,text):
msgBox = QMessageBox(parent)
msgBox.setIcon(QMessageBox.Question)
msgBox.setText("Question")
msgBox.setInformativeText(text)
msgBox.setStandardButtons(QMessageBox.Yes| QMessageBox.No| QMessageBox.Cancel )
msgBox.setDefaultButton(QMessageBox.No)
reply = msgBox.exec_()
if reply == QMessageBox.Yes:
return "yes"
elif reply == QMessageBox.No:
return "no"
else:
return "cancel"
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 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'))