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类No()的实例源码
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 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 make_button(self, filename, tooltip, alignment=Qt.AlignCenter):
"""
Description: Creates a QLabel which will contain an image and will
simulate a button. No associated text will be shown.
Arguments: 1. filename: The filename of the icon/image to show
2. tooltip: Some text to show as a tooltip to the image
3. alignment: Alignment of the button (center by default)
Returns: The created QLabel button
"""
global STANDARDCELLCSS, IMGDIR
filepath = '%s%s%s' % (IMGDIR, filename, '.png')
icon = QImage(filepath)
image = QLabel()
image.setToolTip('<span style="color:#B9B900">%s</span>' % (tooltip))
image.setStyleSheet(STANDARDCELLCSS)
image.setPixmap(QPixmap.fromImage(icon))
image.setAlignment(alignment)
return image
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 slot_new(self):
"""
???? ?? ? ??
:return:
"""
if not self.is_saved:
reply = QMessageBox.information(
self, self.tr("Save"), self.tr("??? ??? ?????????"),
QMessageBox.Save | QMessageBox.No | QMessageBox.Cancel, QMessageBox.Save)
if reply == QMessageBox.Save:
if not self.slot_save():
return # ?? ??
elif reply == QMessageBox.No:
pass
else:
return # ?? ??
self.init_setting()
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 with_btn_click(self):
if self.input_PW.text() == '':
QMessageBox.warning(self, '?? ??', '????? ??? ???')
return
answer = QMessageBox.warning(self, '?? ??', '??? ?? ???????\n??? ??? ??? ??????.', QMessageBox.Ok|QMessageBox.No)
if (answer == QMessageBox.No):
return
else:
mysocket.sendMsg(s, '2', key)
mysocket.sendMsg(s, self.input_PW.text(), key)
result = mysocket.getMsg(s, key)
if result == 'PW different' or result == 'PW different ':
print(result)
QMessageBox.warning(self, '?? ??', '?? ?? ??')
return
else:
QMessageBox.information(self, '?? ??', '???? ??????. ??~')
self.hide()
tmp = MainWidget()
tmp.hide()
tmp = Login()
tmp.run()
def with_btn_click(self):
if self.input_PW.text() == '':
QMessageBox.warning(self, '?? ??', '????? ??? ???')
return
answer = QMessageBox.warning(self, '?? ??', '??? ?? ???????\n??? ??? ??? ??????.', QMessageBox.Ok|QMessageBox.No)
if (answer == QMessageBox.No):
return
else:
QMessageBox.information(self, '??? ??', '?? ????')
"""
mysocket.sendMsg(s, '2', key)
mysocket.sendMsg(s, self.input_PW.text(), key)
result = mysocket.getMsg(s, key)
if result == 'PW different' or result == 'PW different ':
QMessageBox.warning(self, '?? ??', '?? ?? ??')
return
else:
QMessageBox.information(self, '?? ??', '???? ??????. ??~')
??? ???.
"""
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 tempPlot(self):
try:
self.y_title_axis = ['Temperature Plot', 'Temperature vs Time', 't(s)', 'T(C)', 'Sensor']
MultiPlot.Plot(self.tf, len(self.ids), self.y_title_axis)
except KeyError:
mb = QMessageBox()
mb.setIcon(QMessageBox.Information)
mb.setWindowTitle('Error')
mb.setText('No temperature sensor connected.')
mb.setStandardButtons(QMessageBox.Ok)
mb.show()
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
项目源码
文件源码
阅读 24
收藏 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 refresh_window(self, text):
"""???????"""
# ???????
self.setFixedSize(400, 300)
cur = QtGui.QCursor.pos()
x = cur.x() + 20
y = cur.y() + 20
# ????????????????
window_h = QDesktopWidget().screenGeometry().height()
window_w = QDesktopWidget().screenGeometry().width()
if x + 400 > window_h or y + 300 > window_w:
x -= 20 + 400
y -= 20 + 300
self.move(x, y)
self.setWindowTitle("search for:")
self.search_words.setText(text)
# ???????
self.voice_play2.hide()
self.voice_play1.hide()
if len(self.query.word.voices) >= 2:
self.voice_label1.setText(self.query.word.voices[1][0])
self.voice_label2.setText(self.query.word.voices[0][0])
print(self.query.word.voices[1][0])
# self.voice_play1.clicked.connect(lambda: self.play_voice(self.query.word.voices[0][1]))
# self.voice_play2.clicked.connect(lambda: self.play_voice(self.query.word.voices[1][1]))
self.play_voice(self.query.word.voices[1][1])
elif len(self.query.word.voices) == 1:
print("lenth 1")
self.voice_label1.setText(self.query.word.voices[0][0])
# self.voice_play1.clicked.connect(lambda: self.play_voice(self.query.word.voices[0][1]))
self.play_voice(self.query.word.voices[0][1])
else:
self.voice_label1.setText("No voices found.")
base_info = ''
for x in self.query.word.props:
base_info += x + self.query.word.props[x] + '\n'
self.base_infor_label.setText(base_info)