def warningMessage( name ):
#QQQ: need a parent?
box = QtWidgets.QMessageBox(
QtWidgets.QMessageBox.Information,
T_('Warning'),
T_('Enter a value for %s') % (name,),
QtWidgets.QMessageBox.Close,
parent=None )
box.exec_()
python类QMessageBox()的实例源码
def appActionAbout( self ):
all_about_info = []
all_about_info.append( '%s %d.%d.%d' %
(' '.join( self.app.app_name_parts )
,wb_scm_version.major
,wb_scm_version.minor
,wb_scm_version.patch) )
all_about_info.append( '(%s)' % (wb_scm_version.commit,) )
all_about_info.append( '' )
all_about_info.append( 'Python %d.%d.%d %s %d' %
(sys.version_info.major
,sys.version_info.minor
,sys.version_info.micro
,sys.version_info.releaselevel
,sys.version_info.serial) )
all_about_info.append( 'PyQt %s, Qt %s' % (Qt.PYQT_VERSION_STR, QtCore.QT_VERSION_STR) )
for scm_type in self.all_ui_components:
all_about_info.append( '' )
all_about_info.extend( self.all_ui_components[ scm_type ].about() )
all_about_info.append( '' )
all_about_info.append( T_('Copyright Barry Scott (c) %s. All rights reserved') % (wb_scm_version.copyright_years,) )
box = QtWidgets.QMessageBox(
QtWidgets.QMessageBox.Information,
T_('About %s') % (' '.join( self.app.app_name_parts ),),
'\n'.join( all_about_info ),
QtWidgets.QMessageBox.Close,
parent=self )
box.exec_()
def errorMessage( self, title, message ):
box = QtWidgets.QMessageBox(
QtWidgets.QMessageBox.Critical,
title,
message,
QtWidgets.QMessageBox.Close,
parent=self )
box.exec_()
def projectActionDelete( self ):
tree_node = self.selectedScmProjectTreeNode()
if tree_node is None:
return
project_name = tree_node.project.projectName()
default_button = QtWidgets.QMessageBox.No
title = T_('Confirm Delete Project')
message = T_('Are you sure you wish to delete project %s') % (project_name,)
rc = QtWidgets.QMessageBox.question( self, title, message, defaultButton=default_button )
if rc == QtWidgets.QMessageBox.Yes:
# remove from preferences
self.app.prefs.delProject( project_name )
self.app.writePreferences()
# remove from the tree model under the old name
self.tree_model.delProject( project_name )
# setup on a new selection
index = self.tree_model.getFirstProjectIndex()
if index is not None:
index = self.tree_sortfilter.mapFromSource( index )
self.tree_view.setCurrentIndex( index )
def set_database(self):
self.db = QtSql.QSqlDatabase.addDatabase('QSQLITE')
self.db.setDatabaseName(self.dbPath)
if not self.db.open():
QtWidgets.QMessageBox.critical(None, QtWidgets.qApp.tr("Datenbank nicht verfügbar"),
QtWidgets.qApp.tr(
"Es konnte keine Verbindung zur Datenbank hergestellt werden.\n"
"Dieses Programm benötigt SQLite support. Bitte lesen Sie "
"die Qt SQL Treiber Dokumentation für mehr Informationen\n\n"
"Klicke Abbrechen zum beenden."),
QtWidgets.QMessageBox.Cancel)
return False
else:
return True
def get_cookies(self):
cookies = self.settings.value('cookie', '')
if cookies == '':
QtWidgets.QMessageBox.information(self, QtWidgets.qApp.tr("Cookies"),
QtWidgets.qApp.tr("Keine Cookies vorhanden.\n\n"
"Erstelle jetzt deine Cookies in den Einstellungen"),
QtWidgets.QMessageBox.Ok)
return None
else:
return cookies
def showFilterDialog(self):
if self.comboBox.currentText() == 'Alle':
QtWidgets.QMessageBox.warning(self, QtWidgets.qApp.tr("Region wählen"),
QtWidgets.qApp.tr("Bitte zuerst eine Region wählen.\n\n"
"Ok drücken um fortzufahren."),
QtWidgets.QMessageBox.Ok)
else:
self.filterWindow = FilterDialog(self)
self.filterWindow.show()
def showEditDialog(self):
selected = self.get_selectedMatches()
if selected == None:
return
elif len(selected) == 1:
self.editDialog = EditDialog(parent=self, selected=selected[0], dbPath=self.dbPath)
self.editDialog.show()
else:
QtWidgets.QMessageBox.warning(self, QtWidgets.qApp.tr("Nur ein Spiel wählen"),
QtWidgets.qApp.tr("Bitte nur ein Spiel auswhählen.\n\n"
"Ok drücken um fortzufahren."),
QtWidgets.QMessageBox.Ok)
def alreadyReservedMessageBox(self, text):
msgBox = QtWidgets.QMessageBox()
msgBox.setIcon(QtWidgets.QMessageBox.Information)
msgBox.setBaseSize(QtCore.QSize(600, 300))
msgBox.setText("Bereits reservierte Spiele gefunden!")
msgBox.setInformativeText(text)
msgBox.exec()
def download_match(self):
date_from = self.dateEdit_3.date()
if self.actionZeitraum.isChecked():
date_to = self.dateEdit_4.date()
else:
date_to = date_from
options = {
'region': self.comboBox.currentText(),
'date-from': date_from,
'date-to': date_to,
'database-path': self.dbPath,
'parent': self
}
if self.comboBox.currentText() == 'Alle':
QtWidgets.QMessageBox.warning(self, QtWidgets.qApp.tr("Region wählen"),
QtWidgets.qApp.tr("Bitte zuerst eine Region wählen.\n\n"
"Ok drücken um fortzufahren."),
QtWidgets.QMessageBox.Ok)
return
else:
self.downloadProcessor = DownloadProcessor(options)
# Connections
self.downloadProcessor.started.connect(lambda: self.pushButton_5.setEnabled(False))
self.downloadProcessor.finished.connect(lambda: self.pushButton_5.setEnabled(True))
self.downloadProcessor.finished.connect(self.sqlmodel_calendar.select)
self.downloadProcessor.finished.connect(self.tableView.resizeColumnsToContents)
self.downloadProcessor.loggerSignal.connect(self.logDialog.add)
self.downloadProcessor.statusBarSignal.connect(self.statusBar.showMessage)
self.downloadProcessor.start()
def set_updateDialog(self, data):
if not self.settings.value('updates/skipthisversion/%s' % data['current'], False, bool): # dont skip
if data['latest'] > data['current']: # silent check
data.update({'logo': self.header})
self.updateDialog = UpdateDialog(parent=self, data=data)
self.updateDialog.show()
elif data['active']: # mannually checked for updates
QtWidgets.QMessageBox.information(self, QtWidgets.qApp.tr("Software-Update"),
QtWidgets.qApp.tr("Keine Updates gefunden.\n\n"
"FuME ist auf dem neusten Stand!"),
QtWidgets.QMessageBox.Ok)
else:
self.logDialog.add('Auf dem neusten Stand: Version %s' % version)
def deleteSettings(self):
ret = QtWidgets.QMessageBox.critical(self, QtWidgets.qApp.tr("Alle Einstellungen löschen"),
QtWidgets.qApp.tr("Willst du wirklich alle Einstellungen löschen? "
"Alle Einstellungen gehen verloren.\n\n"
"Drücke OK um zu bestätigen und Abbrechen um zurückzukehren."),
QtWidgets.QMessageBox.Ok | QtWidgets.QMessageBox.Cancel)
if ret == QtWidgets.QMessageBox.Ok:
QtWidgets.QMessageBox.critical(self, QtWidgets.qApp.tr("Alle Einstellungen löschen"),
QtWidgets.qApp.tr("Alle Einstellungen werden gelöscht und das Programm beendet\n\n"
"Nach dem Beenden sind alle Einstellungen entfernt."),
QtWidgets.QMessageBox.Ok)
self.parent().close()
self.settings.clear()
def installUpdates(self):
if platform == "win32":
url = self.data['url-windows']
os = 'Windows'
else:
url = self.data['url-mac']
os = 'macOS'
text = """
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li {{ white-space: pre-wrap; }}
</style></head><body style=" font-family:'.SF NS Text'; font-size:13pt; font-weight:400; font-style:normal;">
Die neuste Version für {platform} kannst du unter folgendem Link herunterladen: <br />
<a href='{url}'>{url}</a><br /><br />
Lade das Update herunter, schließe FuME, installiere die Datei und öffne FuME erneut.<br /><br />
Mit einem klick auf OK erlaubst du FuME, den obigen Link in deinem Browser zu öffnen.<br /><br />
</body></html>
""".format(platform=os, url=url)
msgBox = QtWidgets.QMessageBox(self)
msgBox.setIcon(QtWidgets.QMessageBox.Information)
msgBox.setWindowTitle("Software-Update")
msgBox.setText("Software-Update")
msgBox.setInformativeText(text)
msgBox.setStandardButtons(QtWidgets.QMessageBox.Cancel | QtWidgets.QMessageBox.Ok)
msgBox.setDefaultButton(QtWidgets.QMessageBox.Ok)
msgBox.setBaseSize(QtCore.QSize(550, 275))
ret = msgBox.exec()
if ret == QtWidgets.QMessageBox.Ok:
webbrowser.open(url)
self.close()
def __init__(self, *args, **kwargs):
super(About, self).__init__(*args, **kwargs)
self.setSizeGripEnabled(True)
self.setIcon(QW.QMessageBox.Information)
self.setWindowTitle("Sequana")
self.setStandardButtons(QW.QMessageBox.Ok)
def __init__(self, msg, parent=None):
super().__init__(parent=parent)
self.setWindowTitle("Warning message")
self.setIcon(QW.QMessageBox.Warning)
self.setText(msg)
def sigint_handler(*args):
"""Handler for the SIGINT signal."""
sys.stderr.write('\r')
if QW.QMessageBox.question(None, '', "Are you sure you want to quit?",
QW.QMessageBox.Yes | QW.QMessageBox.No,
QW.QMessageBox.No) == QW.QMessageBox.Yes:
QW.QApplication.quit()
def menuHelp(self):
url = 'sequana.readthedocs.io'
pipelines_text = "<ul>\n"
url = "http://sequana.readthedocs.io/en/master"
for pipeline in snaketools.pipeline_names:
pipelines_text += ' <li><a href="%(url)s/pipeline_%(name)s.html">%(name)s</a></li>\n' %\
{"url":url,"name":pipeline}
pipelines_text += "</ul>"
msg = HelpDialog(pipelines=pipelines_text)
retval = msg.exec_()
if retval == QW.QMessageBox.Ok:
msg.close()
def menuQuit(self):
self._quit_msg = WarningMessage("Do you really want to quit ?")
self._quit_msg.setStandardButtons(QW.QMessageBox.Yes | QW.QMessageBox.No)
self._quit_msg.setDefaultButton(QW.QMessageBox.No)
quit_answer = self._quit_msg.exec_()
if quit_answer == QW.QMessageBox.Yes:
self.close()