本文整理汇总了Python中PyQt5.QtWidgets.QProgressBar.setMaximum方法的典型用法代码示例。如果您正苦于以下问题:Python QProgressBar.setMaximum方法的具体用法?Python QProgressBar.setMaximum怎么用?Python QProgressBar.setMaximum使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PyQt5.QtWidgets.QProgressBar
的用法示例。
在下文中一共展示了QProgressBar.setMaximum方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMaximum [as 别名]
def __init__(self, parent):
QProgressBar.__init__(self, parent)
self.fLeftClickDown = False
self.fIsInteger = False
self.fIsReadOnly = False
self.fMinimum = 0.0
self.fMaximum = 1.0
self.fInitiated = False
self.fRealValue = 0.0
self.fLastPaintedValue = None
self.fCurrentPaintedText = ""
self.fLabel = ""
self.fName = ""
self.fPreLabel = " "
self.fTextCall = None
self.fValueCall = None
self.setFormat("(none)")
# Fake internal value, 10'000 precision
QProgressBar.setMinimum(self, 0)
QProgressBar.setMaximum(self, 10000)
QProgressBar.setValue(self, 0)
示例2: ErgebnissVorlage
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMaximum [as 别名]
class ErgebnissVorlage(QWidget):
def __init__(self, parent=None):
super(ErgebnissVorlage, self).__init__(parent)
self.auswahlAlter = QComboBox()
self.auswahlAlter.addItem("Bitte auswählen")
for i in range(3, 18):
self.auswahlAlter.addItem("{} Jahre / Jahrgang {}".format(i, date.today().year - i))
self.auswahlGeschlecht = QComboBox()
self.auswahlGeschlecht.addItem("Bitte auswählen")
self.auswahlGeschlecht.addItem("Männlich")
self.auswahlGeschlecht.addItem("Weiblich")
self.printerProgress = QProgressBar()
self.printerProgress.hide()
self.mainLayout = QFormLayout()
self.mainLayout.addRow(QLabel("Alter:"),self.auswahlAlter)
self.mainLayout.addRow(QLabel("Geschlecht:"),self.auswahlGeschlecht)
self.mainLayout.addRow(self.printerProgress)
self._drucken = QPushButton("Drucken")
self._drucken.clicked.connect(self.drucken)
self.mainLayout.addRow(self._drucken)
self.setLayout(self.mainLayout)
def queryUsers(self,Alter:int, Geschlecht:bool)->list:
return QueryTool().fetchAllByWhere("LG_NGD",WieAlt=Alter,Geschlecht=Geschlecht)
def drucken(self):
self.printerProgress.show()
if (self.auswahlAlter.currentIndex() is 0) and (self.auswahlGeschlecht.currentIndex() is 0):
Alter = range(3,18)
Geschlecht = range(0,2)
else:
Alter = self.auswahlAlter.currentIndex()+2
Alter = range(Alter,Alter+1)
Geschlecht = self.auswahlGeschlecht.currentIndex()-1
Geschlecht = range(Geschlecht,Geschlecht+1)
self.printerProgress.setMaximum(len(Alter)*len(Geschlecht)*10)
self.printerProgress.setValue(0)
prog = 0
for a in Alter:
for g in Geschlecht:
for d in range(10):
ErgebnissVorlagenDrucker(a,g,d)
self.printerProgress.setValue(prog)
prog +=1
self.printerProgress.hide()
示例3: PowerIndicator
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMaximum [as 别名]
class PowerIndicator():
parent = None
progressbar = None
text = None
maxVoltPerCell = 0
minVoltPerCell = 0
fullStyle = "QProgressBar::chunk { background-color: #00EE00; }"
halfStyle = "QProgressBar::chunk { background-color: #FFCC00; }"
emptyStyle = "QProgressBar::chunk { background-color: #FF5050; }"
def __init__(self, parent, minVoltPerCell = 3.2, maxVoltPerCell = 4.2):
self.minVoltPerCell = 3.2
self.maxVoltPerCell = 4.2
self.parent = parent
self.text = QLabel('', parent)
self.progressbar = QProgressBar(parent)
self.progressbar.setMaximumWidth(100)
self.progressbar.setMaximumHeight(10)
self.progressbar.setMaximum(100)
self.progressbar.setMinimum(0)
self.progressbar.setTextVisible(False)
parent.statusBar.addPermanentWidget(self.progressbar)
parent.statusBar.addPermanentWidget(self.text)
def updateProgressBar(self, voltage):
pct = ((voltage - self.minVoltPerCell) / (self.maxVoltPerCell-self.minVoltPerCell))*100
self.progressbar.setValue(pct)
if pct <= 20:
self.progressbar.setStyleSheet(self.emptyStyle)
elif pct <= 50:
self.progressbar.setStyleSheet(self.halfStyle)
else:
self.progressbar.setStyleSheet(self.fullStyle)
def newMessage(self, message, data):
if message == 'POW':
data = data.split()
if len(data) < 2:
return
volts = unpack('!f', bytes.fromhex(data[0]))[0]
amps = unpack('!f', bytes.fromhex(data[1]))[0]
self.text.setText("%.2f V/cell, %.3f A" % (volts/4, amps))
self.updateProgressBar(volts/4)
示例4: start_download
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMaximum [as 别名]
def start_download(self, filepath, path):
#thread = QThread(self)
pbar = QProgressBar(self.ui.tab_downloads)
pbar.setMinimum(0)
pbar.setMaximum(100)
pbar.setValue(0)
self.ui.formLayout.addRow(os.path.basename(path), pbar)
pbar.show()
dw = Downloader(str(filepath), str(path), pbar)
dw.finished.connect(self.finished_download)
dw.progresschanged.connect(self.show_download_progress)
dw.started.connect(self.started_download)
Thread(target=dw.download).start()
示例5: __init__
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMaximum [as 别名]
def __init__(self, parent=None):
super().__init__(parent)
main_layout = QVBoxLayout()
info_lbl = QLabel(
"Hi there! Some big changes are about to occur!\n"
+ "Please wait.. This will take at most a few minutes.\n"
+ "If not then try restarting the application."
)
info_lbl.setAlignment(Qt.AlignCenter)
main_layout.addWidget(info_lbl)
prog = QProgressBar(self)
prog.setMinimum(0)
prog.setMaximum(0)
prog.setTextVisible(False)
main_layout.addWidget(prog)
main_layout.addWidget(QLabel("Note: This popup will close itself when everything is ready"))
self.main_widget.setLayout(main_layout)
示例6: E5ProgressDialog
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMaximum [as 别名]
class E5ProgressDialog(QProgressDialog):
"""
Class implementing a progress dialog allowing a customized progress bar
label.
"""
def __init__(self, labelText, cancelButtonText, minimum, maximum,
format=None, parent=None, flags=Qt.WindowFlags()):
"""
Constructor
@param labelText text of the dialog label (string)
@param cancelButtonText text of the cancel button (string)
@param minimum minimum value (integer)
@param maximum maximum value (integer)
@keyparam format label format of the progress bar (string)
@keyparam parent reference to the parent widget (QWidget)
@keyparam flags window flags of the dialog (Qt.WindowFlags)
"""
super(E5ProgressDialog, self).__init__(
labelText, cancelButtonText, minimum, maximum, parent, flags)
self.__progressBar = QProgressBar(self)
self.__progressBar.setMinimum(minimum)
self.__progressBar.setMaximum(maximum)
if format:
self.__progressBar.setFormat(format)
self.setBar(self.__progressBar)
def format(self):
"""
Public method to get the progress bar format.
@return progress bar format (string)
"""
return self.__progressBar.format()
def setFormat(self, format):
"""
Public method to set the progress bar format.
@param format progress bar format (string)
"""
self.__progressBar.setFormat(format)
示例7: download_pkl
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMaximum [as 别名]
def download_pkl(self):
"""Download the Pickle postcode file to the plugin dir.
:return: None
"""
pcode_path = path.join(path.dirname(__file__), 'UK_Postcodes')
if not path.exists(pcode_path):
makedirs(pcode_path)
try:
http = urllib3.PoolManager()
response = http.request('GET', self.POSTCODE_URL, preload_content=False, retries=3)
content_length = response.headers['Content-Length']
total_size = int(content_length)
downloaded = 0
CHUNK = 256 * 10240
dlbar = QProgressBar()
dlbar.setMinimum(0)
dlbar.setMaximum(total_size)
zip_temp = tempfile.NamedTemporaryFile(mode='w+b', suffix='.zip', delete=False)
zip_temp_n = zip_temp.name
zip_temp.seek(0)
with open(zip_temp_n, 'wb') as fp:
while True:
dlbar.show()
chunk = response.read(CHUNK)
downloaded += len(chunk)
dlbar.setValue(downloaded)
if not chunk:
break
fp.write(chunk)
response.release_conn()
pcode_zip = ZipFile(zip_temp)
pcode_zip.extractall(pcode_path)
zip_temp.close()
self.check_pkl()
except urllib3.exceptions.MaxRetryError:
QMessageBox.information(self.iface.mainWindow(),
"HTTP Error",
"Unable to download file")
示例8: __init__
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMaximum [as 别名]
def __init__(self,inMsg=' Loading...',inMaxStep=1):
"""
"""
# Save reference to the QGIS interface
# initialize progressBar
# QApplication.processEvents() # Help to keep UI alive
self.iface = iface
widget = iface.messageBar().createMessage('Please wait ',inMsg)
prgBar = QProgressBar()
self.prgBar=prgBar
widget.layout().addWidget(self.prgBar)
iface.messageBar().pushWidget(widget)
QApplication.setOverrideCursor(QCursor(Qt.WaitCursor))
# if Max 0 and value 0, no progressBar, only cursor loading
# default is set to 0
prgBar.setValue(1)
# set Maximum for progressBar
prgBar.setMaximum(inMaxStep)
示例9: CpSplashScreen
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMaximum [as 别名]
class CpSplashScreen(QSplashScreen):
def __init__(self, parent = None, pixmap = None, maxSteps = 1):
super().__init__(parent, pixmap)
self.maxSteps = maxSteps
self.progress = QProgressBar(self)
#self.progress.setGeometry(15, 15, 100, 10)
self.progress.setTextVisible(False)
self.progress.setMinimum(0)
self.progress.setMaximum(self.maxSteps)
self.progress.setValue(0)
self.progress.hide()
def show(self):
super().show()
geo = self.geometry()
self.progress.setGeometry(5, geo.height() - 20, 100, 10)
self.progress.show()
def showMessage(self, msg, step = None, color = None):
if step is not None:
self.progress.setValue(step)
self.progress.update()
super().showMessage(msg, color=color)
示例10: __init__
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMaximum [as 别名]
class Qt4SysTrayIcon:
def __init__(self):
self.snapshots = snapshots.Snapshots()
self.config = self.snapshots.config
self.decode = None
if len(sys.argv) > 1:
if not self.config.setCurrentProfile(sys.argv[1]):
logger.warning("Failed to change Profile_ID %s"
%sys.argv[1], self)
self.qapp = qt4tools.createQApplication(self.config.APP_NAME)
translator = qt4tools.translator()
self.qapp.installTranslator(translator)
self.qapp.setQuitOnLastWindowClosed(False)
import icon
self.icon = icon
self.qapp.setWindowIcon(icon.BIT_LOGO)
self.status_icon = QSystemTrayIcon(icon.BIT_LOGO)
#self.status_icon.actionCollection().clear()
self.contextMenu = QMenu()
self.menuProfileName = self.contextMenu.addAction(_('Profile: "%s"') % self.config.profileName())
qt4tools.setFontBold(self.menuProfileName)
self.contextMenu.addSeparator()
self.menuStatusMessage = self.contextMenu.addAction(_('Done'))
self.menuProgress = self.contextMenu.addAction('')
self.menuProgress.setVisible(False)
self.contextMenu.addSeparator()
self.btnPause = self.contextMenu.addAction(icon.PAUSE, _('Pause snapshot process'))
action = lambda: os.kill(self.snapshots.pid(), signal.SIGSTOP)
self.btnPause.triggered.connect(action)
self.btnResume = self.contextMenu.addAction(icon.RESUME, _('Resume snapshot process'))
action = lambda: os.kill(self.snapshots.pid(), signal.SIGCONT)
self.btnResume.triggered.connect(action)
self.btnResume.setVisible(False)
self.btnStop = self.contextMenu.addAction(icon.STOP, _('Stop snapshot process'))
self.btnStop.triggered.connect(self.onBtnStop)
self.contextMenu.addSeparator()
self.btnDecode = self.contextMenu.addAction(icon.VIEW_SNAPSHOT_LOG, _('decode paths'))
self.btnDecode.setCheckable(True)
self.btnDecode.setVisible(self.config.snapshotsMode() == 'ssh_encfs')
self.btnDecode.toggled.connect(self.onBtnDecode)
self.openLog = self.contextMenu.addAction(icon.VIEW_LAST_LOG, _('View Last Log'))
self.openLog.triggered.connect(self.onOpenLog)
self.startBIT = self.contextMenu.addAction(icon.BIT_LOGO, _('Start BackInTime'))
self.startBIT.triggered.connect(self.onStartBIT)
self.status_icon.setContextMenu(self.contextMenu)
self.pixmap = icon.BIT_LOGO.pixmap(24)
self.progressBar = QProgressBar()
self.progressBar.setMinimum(0)
self.progressBar.setMaximum(100)
self.progressBar.setValue(0)
self.progressBar.setTextVisible(False)
self.progressBar.resize(24, 6)
self.progressBar.render(self.pixmap, sourceRegion = QRegion(0, -14, 24, 6), flags = QWidget.RenderFlags(QWidget.DrawChildren))
self.first_error = self.config.notify()
self.popup = None
self.last_message = None
self.timer = QTimer()
self.timer.timeout.connect(self.updateInfo)
self.ppid = os.getppid()
def prepairExit(self):
self.timer.stop()
if not self.status_icon is None:
self.status_icon.hide()
self.status_icon = None
if not self.popup is None:
self.popup.deleteLater()
self.popup = None
self.qapp.processEvents()
def run(self):
self.status_icon.show()
self.timer.start(500)
logger.info("[qt4systrayicon] begin loop", self)
self.qapp.exec_()
logger.info("[qt4systrayicon] end loop", self)
self.prepairExit()
#.........这里部分代码省略.........
示例11: QGISBaum
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMaximum [as 别名]
def QGISBaum(self, AktDB, User, prjNameInTree, qry4pri, qry, bGenDar, bPrjNeu, iDarGruppe, b3DDar, bDBTab, bSHPexp, bLeer, OutOfQGIS=False):
def Fortschritt(prgBar, msgBar, Step, Titel, Text):
# Fortschritt(prgBar, msgBar, Step, Text)
try:
prgBar.setValue(Step)
msgBar.setTitle(Titel)
msgBar.setText(Text)
QCoreApplication.processEvents()
return True
except:
QMessageBox.critical( None, "Abbruch","Vorgang dort durch Nutzereingriff beendet")
return False
idxLayer = -1
if bSHPexp:
s = QSettings( "EZUSoft", fncProgKennung() )
bSaveDar = True if s.value( "bSaveDar", "Ja" ) == "Ja" else False
bOnlyDarField = True if s.value( "bOnlyDarField", "Ja" ) == "Ja" else False
bNoGISDBIntern = True if s.value( "bNoGISDBIntern", "Ja" ) == "Ja" else False
txtCodePage = s.value( "txtCodePage", 0)
txtZielPfad = s.value( "txtSHPDir", "" )
# allgemeine Daten für Layereinbindung ermitteln
clsRendXML = clsRenderingByQML()
ConnInfo=AktDB.GetConnString()
Epsg=GetEPSG()
cgVersion = GetCGVersion()
# Teil 1 ======================= Ebenen laden und attributieren =============================
ltgProjekt = self.ErzeugeStruktur(prjNameInTree,qry) # Projektbaum generieren
iface.mapCanvas().setRenderFlag( False ) # Kartenaktualisierung abschalten
QApplication.setOverrideCursor(Qt.WaitCursor)
step=0
# Progressbar intitialisieren
GesAnz = qry4pri.size()
if bSHPexp:
GesAnz = GesAnz * 2 # zwischenschritt für Progressbar
GesAnz = GesAnz + 1
msgBar = iface.messageBar().createMessage("...")
prgBar = QProgressBar()
prgBar.setAlignment(Qt.AlignLeft)
prgBar.setValue(0)
prgBar.setMaximum(GesAnz)
msgBar.layout().addWidget(prgBar)
iface.messageBar().pushWidget(msgBar, 0) # 15.02.18 Fehler bei QGIS 2018/02 iface.messageBar().INFO --> 0
# 3.) Ebenen laden
# 0 1 2
# layername, lyrtable.layerid, lyrtable.layertyp, dbname, priority
i=0
while (qry4pri.next()):
# 17.07.18: im weiteren Verlauf crasht der Zugriff auf qry4pri.value(x), deshalb werden die Werte in eine Liste geschrieben
qry4priEbene=qry4pri.value(0)
qry4priLayerID=qry4pri.value(1)
qry4priLayerTyp=qry4pri.value(2)
qry4priDBname=qry4pri.value(3)
try:
i=i+1
#print (i, step, GesAnz, qry4priEbene)
except:
pass
#Progressbar weiterschalten
step = step + 1
if not Fortschritt(prgBar, msgBar, step, "Laden", qry4priEbene):
break
GISDBTabName=None
refObjID=None
"""
-> hat irgendwie nix gebracht, war langsam und vor allem hat sich der Speicher irgendwie aufgeschauckelt
if bLeer:
LayerMachWas = True
else:^
LayerMachWas = not (clsdb.sqlLayerIsEmpty(q ry4pri.value(2),qry4priLayerID))
"""
lName=toUTF8(qry4priEbene) # 11.04.19 weiter vorgeholt, falls in Fehlermelung gebraucht
if bDBTab and qry4priDBname:#
if dbExistsGISDBTab(qry4priDBname):
GISDBTabName=qry4priDBname.lower()
refObjID=dbObjID4GISDBTab(qry4priDBname)
else:
addFehler("Fehler Tabellenzugriff (Tabelle:" + qry4priDBname + ", Matchcode: like '%%\_objid', Ebene: " + lName )
vlp = VectorLayerPath (qry4priLayerTyp,ConnInfo,Epsg, qry4priLayerID,b3DDar, GISDBTabName, cgVersion, bSHPexp, refObjID)
# 17.07.18: ab hier crasht der Zugriff auf qry4pri.value, deshalb werden die Werte in ein normales array geschrieben
if vlp:
# ================== 1. Schritt Layer einbinden =============================
#print (vlp)
#print (lName)
Layer = QgsVectorLayer(vlp, lName , "postgres")
if Layer.isValid():
Layer.setReadOnly() # sicherheitshalbe ReadOnly auf PG-Layer
if bLeer or Layer.featureCount() > 0:
if bSHPexp:
# Bei Shape-Option: Layer als Shape speichern, Postgres lösen und Shape setzen
#.........这里部分代码省略.........
示例12: run
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMaximum [as 别名]
def run(self):
"""Run method that performs all the real work"""
# show the dialog
self.dlg.show()
self.dlg.comboBox.clear()
layers = QgsProject.instance().mapLayers().values()
for layer in layers:
if layer.type() == QgsMapLayer.VectorLayer :
self.dlg.comboBox.addItem( layer.name(), layer )
# Run the dialog event loop
result = self.dlg.exec_()
# See if OK was pressed
if result:
index = self.dlg.comboBox.currentIndex()
selection = self.dlg.comboBox.itemData(index)
checkedLayers = QgsProject.instance().layerTreeRoot().checkedLayers()
#search existence of output folder, if not create it
if not os.path.isdir(self.folderName):
raise FileNotFoundError(
errno.ENOENT, os.strerror(errno.ENOENT), self.folderName)
directory = self.folderName + "/vectors"
if not os.path.exists(directory):
os.makedirs(directory)
directory = self.folderName + "/rasters"
if not os.path.exists(directory):
os.makedirs(directory)
# Progress bar
progressMessageBar = iface.messageBar().createMessage("Clipping...")
progress = QProgressBar()
progress.setMaximum(len(checkedLayers) - 1)
progress.setAlignment(Qt.AlignLeft|Qt.AlignVCenter)
progressMessageBar.layout().addWidget(progress)
iface.messageBar().pushWidget(progressMessageBar, Qgis.Info)
progression = 0
#clip part
for layer in checkedLayers :
out = None
#clip vector layer (if displayed)
if layer.type() == QgsMapLayer.VectorLayer and layer != selection :
output = self.folderName + "/vectors/clip_" + layer.name() + ".shp"
# check file isn't openned and is writable
version = 0
while self.isFileOpened(output):
output = self.folderName + "/vectors/clip_" + layer.name() + "("+ str(version) + ").shp"
version +=1
processing.run("native:clip", {"INPUT" : layer.id(), "OVERLAY" : selection.id(), "OUTPUT" : output})
# load layer
if self.dlg.checkBox.isChecked():
out = iface.addVectorLayer(output, "", "ogr")
if not out:
iface.messageBar().pushMessage("Error", "Could not load " + output, level=Qgis.Warning)
#clip raster layer (if displayed)
if layer.type() == QgsMapLayer.RasterLayer :
# get extension about the raster
filename, file_extension = os.path.splitext(layer.source())
output = self.folderName + "/rasters/clip_" + layer.name() + file_extension
# check file isn't openned and is writable
version = 0
while self.isFileOpened(output):
output = self.folderName + "/rasters/clip_" + layer.name() + "("+ str(version) + ")" + file_extension
version +=1
processing.run("gdal:cliprasterbymasklayer", {"INPUT" : layer.id(), "MASK" : selection.id(), "CROP_TO_CUTLINE" : True, "OUTPUT" : output})
# load layer
if self.dlg.checkBox.isChecked():
out = iface.addRasterLayer(output, "")
if not out.isValid():
iface.messageBar().pushMessage("Error", "Could not load " + output, level=Qgis.Warning)
# Update progression
time.sleep(1)
progress.setValue(progression + 1)
progression += 1
iface.messageBar().clearWidgets()
示例13: progressTrack
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMaximum [as 别名]
class progressTrack( QFrame ):
maxVal = 150;
prog = 25;
elapsed = 0.0;
progressUpdate = QtCore.pyqtSignal(int);
artist = QtCore.pyqtSignal(str);
album = QtCore.pyqtSignal(str);
track = QtCore.pyqtSignal(str);
status = QtCore.pyqtSignal(str);
def __init__(self, root, orient = None, mode = None):
QFrame.__init__(self);
self.time = None; # Initialize variable for computation time
self.running = False; # Set running to False
artist = QLabel('Artist:'); # Set up label for track artist
album = QLabel('Album:'); # Set up label for track album
track = QLabel('Track:'); # Set up label for track name
self.artistLabel = QLabel(''); # Set label to display track artist using the artist tkinter string var
self.albumLabel = QLabel(''); # Set label to display album artist using the album tkinter string var
self.trackLabel = QLabel(''); # Set label to display track name using the track tkinter string var
self.artist.connect(self.artistLabel.setText)
self.album.connect(self.albumLabel.setText)
self.track.connect(self.trackLabel.setText);
self.progress = QProgressBar(); # Initialize track progress bar
self.progress.setMaximum(self.maxVal); # Set maximum value of the track progress bar
self.progressUpdate.connect( self.progress.setValue );
status = QLabel(''); # Set up label for status
self.status.connect(status.setText);
layout = QGridLayout();
layout.setColumnStretch(1, 1);
layout.addWidget(artist, 0, 0, 1, 1);
layout.addWidget(self.artistLabel, 0, 1, 1, 1);
layout.addWidget(album, 1, 0, 1, 1);
layout.addWidget(self.albumLabel, 1, 1, 1, 1);
layout.addWidget(track, 2, 0, 1, 1);
layout.addWidget(self.trackLabel, 2, 1, 1, 1);
layout.addWidget(self.progress, 3, 0, 1, 2);
layout.addWidget(status, 4, 0, 1, 2);
layout.setVerticalSpacing(2);
self.setLayout( layout );
self.show();
self.__labelWidth = round( self.progress.width() * 0.75 ); # Get width of progress bar after everything is packed
##############################################################################
def updateInfo(self, info):
'''
Purpose:
Method to update the artist/album/track information
Inputs:
info : Dictionary of track information
'''
track = ''; # Initialize track to empty string
if ('Album Artist' in info): # If 'Album Artist' is a key in the info dictionary
txt = self.__truncateText( self.artistLabel, info['Album Artist'] );
self.artist.emit( txt ); # Update the artist tkinter string var
elif ('Artist' in info): # Else, if 'Artist' is a key in the info dictionary
txt = self.__truncateText( self.artistLabel, info['Artist'] );
self.artist.emit( txt ); # Update the artist tkinter string var
else: # Else
self.artist.emit( '' ); # Update the artist tkinter string var to empty string
if ('Album' in info): # If 'Album' is a key in the info dictionary
txt = self.__truncateText( self.albumLabel, info['Album'] );
self.album.emit( txt ); # Update the album tkinter string var
else: # Else
self.album.emit( '' ); # Update the album tkinter string var to empty string
if ('Track Number' in info): track += '{:02} '.format(info['Track Number']);# If 'Track Number' is key in the info dictionary, append the track number (with formatting) to the track variable
if ('Name' in info): track += info['Name']; # if 'Name' is a key in the info dictionary, append track name to track variable
txt =self.__truncateText( self.trackLabel, track);
self.track.emit( txt ); # Set the track tkinter string var using the track variable
self.status.emit( '' ); # Set status to empty
self.progressUpdate.emit( 0 ); # Set the progress bar to zero (0) progress
##############################################################################
def updateStatus(self, text, prog = False, finish = False):
'''
Purpose:
Method to update status text
Inputs:
text : Text to update status to
Keywords:
prog : If set to True, will increment the progress bar
finish : If set to True, will set progress bar to done
'''
self.status.emit( text ); # Update the status text
if prog: # If prog is True
self.progressUpdate.emit( self.progress.value() + self.prog ); # Update the progress bar
if finish:
self.progressUpdate.emit( self.maxVal ) # Update the progress bar
self.time = time.time() - self.time; # Set time to processing time
##############################################################################
def reset(self):
'''
Method to reset all values in the frame
#.........这里部分代码省略.........
示例14: MainWindow
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMaximum [as 别名]
#.........这里部分代码省略.........
self.action_about.triggered.connect(self.showAbout)
self.action_help.triggered.connect(self.showHelp)
self.execute_button.clicked.connect(self.execute)
self.density_mxd.clicked.connect(self.openMxdDensity)
self.day_mxd.clicked.connect(self.openMxdDay)
self.density_mxd.setDisabled(True)
self.day_mxd.setDisabled(True)
self.action_save_pic.setDisabled(True)
def execute(self):
dir = u"E:/Documents/工作/雷电公报/闪电定位原始文本数据/" + self.in_parameters[u'datetime']
if os.path.exists(dir):
datafiles = os.listdir(dir)
datafiles = map(lambda x:os.path.join(dir,x),datafiles)
self.in_parameters[u'origin_data_path'] = datafiles
if not self.in_parameters.has_key(u'origin_data_path'):
message = u"请加载%s的数据" % self.in_parameters[u'datetime']
msgBox = QMessageBox()
msgBox.setText(message)
msgBox.setIcon(QMessageBox.Information)
icon = QIcon()
icon.addPixmap(QPixmap('./resource/weather-thunder.png'), QIcon.Normal, QIcon.Off)
msgBox.setWindowIcon(icon)
msgBox.setWindowTitle(" ")
msgBox.exec_()
return
self.execute_button.setDisabled(True)
self.execute_button.setText(u'正在制图中……')
self.progressBar.setMaximum(0)
self.progressBar.setMinimum(0)
self.action_add_data.setDisabled(True)
self.target_area.setDisabled(True)
self.datetime.setDisabled(True)
self.density_cell.setDisabled(True)
self.density_class.setDisabled(True)
self.day_cell.setDisabled(True)
self.day_class.setDisabled(True)
# for outfile in self.in_parameters[u'origin_data_path']:
# infile =
# try:
# with open(infile, 'w+') as in_f:
# for line in in_f:
# line = line.replace(u":",":")
# in_f.write(line)
# except Exception,inst:
# print infile
self.process_thread = WorkThread()
self.process_thread.trigger.connect(self.finished)
self.process_thread.beginRun(self.in_parameters)
def finished(self):
#绘制闪电密度图
##清除上一次的QGraphicsView对象,防止其记录上一次图片结果,影响显示效果
self.density_view.setAttribute(Qt.WA_DeleteOnClose)
self.verticalLayout_2.removeWidget(self.density_view)
size = self.density_view.size()
self.density_view.close()
示例15: SearchWidget
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMaximum [as 别名]
#.........这里部分代码省略.........
"""
replaceFileAll(replText)
**Signal** emitted, when 'Replace All' had been pressed
""" # pylint: disable=W0105
def __init__(self, plugin):
QFrame.__init__(self, core.workspace())
self._mode = None
self.plugin = plugin
uic.loadUi(os.path.join(os.path.dirname(__file__), 'SearchWidget.ui'), self)
self.cbSearch.setCompleter(None)
self.cbReplace.setCompleter(None)
self.cbMask.setCompleter(None)
self.fsModel = QDirModel(self.cbPath.lineEdit())
self.fsModel.setFilter(QDir.AllDirs | QDir.NoDotAndDotDot)
self.cbPath.lineEdit().setCompleter(QCompleter(self.fsModel,
self.cbPath.lineEdit()))
self._pathBackspaceShortcut = QShortcut(QKeySequence("Ctrl+Backspace"), self.cbPath, self._onPathBackspace)
self._pathBackspaceShortcut.setContext(Qt.WidgetWithChildrenShortcut)
# TODO QDirModel is deprecated but QCompleter does not yet handle
# QFileSystemodel - please update when possible."""
self.cbSearch.setCompleter(None)
self.pbSearchStop.setVisible(False)
self.pbReplaceCheckedStop.setVisible(False)
self._progress = QProgressBar(self)
self._progress.setAlignment(Qt.AlignCenter)
self._progress.setToolTip(self.tr("Search in progress..."))
self._progress.setMaximumSize(QSize(80, 16))
core.mainWindow().statusBar().insertPermanentWidget(1, self._progress)
self._progress.setVisible(False)
# cd up action
self.tbCdUp = QToolButton(self.cbPath.lineEdit())
self.tbCdUp.setIcon(QIcon(":/enkiicons/go-up.png"))
self.tbCdUp.setCursor(Qt.ArrowCursor)
self.tbCdUp.installEventFilter(self) # for drawing button
self.cbSearch.installEventFilter(self) # for catching Tab and Shift+Tab
self.cbReplace.installEventFilter(self) # for catching Tab and Shift+Tab
self.cbPath.installEventFilter(self) # for catching Tab and Shift+Tab
self.cbMask.installEventFilter(self) # for catching Tab and Shift+Tab
self._closeShortcut = QShortcut(QKeySequence("Esc"), self)
self._closeShortcut.setContext(Qt.WidgetWithChildrenShortcut)
self._closeShortcut.activated.connect(self.hide)
# connections
self.cbSearch.lineEdit().textChanged.connect(self._onSearchRegExpChanged)
self.cbSearch.lineEdit().returnPressed.connect(self._onReturnPressed)
self.cbReplace.lineEdit().returnPressed.connect(self._onReturnPressed)
self.cbPath.lineEdit().returnPressed.connect(self._onReturnPressed)
self.cbMask.lineEdit().returnPressed.connect(self._onReturnPressed)
self.cbRegularExpression.stateChanged.connect(self._onSearchRegExpChanged)
self.cbCaseSensitive.stateChanged.connect(self._onSearchRegExpChanged)
self.cbWholeWord.stateChanged.connect(self._onSearchRegExpChanged)
self.tbCdUp.clicked.connect(self._onCdUpPressed)