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)
python类question()的实例源码
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 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
项目源码
文件源码
阅读 29
收藏 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 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 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 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 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()