本文整理汇总了Python中PyQt5.QtWidgets.QProgressBar.reset方法的典型用法代码示例。如果您正苦于以下问题:Python QProgressBar.reset方法的具体用法?Python QProgressBar.reset怎么用?Python QProgressBar.reset使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PyQt5.QtWidgets.QProgressBar
的用法示例。
在下文中一共展示了QProgressBar.reset方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: LabeledProgressBar
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import reset [as 别名]
class LabeledProgressBar(QWidget):
def __init__(self,
label_text="Progress:",
label_font_size=10,
bar_width=100,
use_bar=None,
label_on_left=True,
show_bar_text=False,
*args, **kwargs):
super().__init__(*args, **kwargs)
if use_bar:
self.bar = use_bar
else:
self.bar = QProgressBar(self)
self.bar.reset()
self.bar.setFixedWidth(bar_width)
self.bar.setTextVisible(show_bar_text)
self.label = QLabel(label_text, self)
self.label.setAlignment(Qt.AlignRight)
self.setStyleSheet("QLabel {font-size: %dpt}" % label_font_size)
layout = QHBoxLayout()
layout.setContentsMargins(0,0,0,0)
if label_on_left:
layout.addWidget(self.label)
layout.addWidget(self.bar)
else:
layout.addWidget(self.bar)
layout.addWidget(self.label)
self.setLayout(layout)
@pyqtProperty(int)
def value(self):
return self.bar.value()
@value.setter
def value(self, val):
self.bar.setValue(val)
def setValue(self, progress_value):
self.bar.setValue(progress_value)
@pyqtProperty(str)
def label_text(self):
return self.label.text()
@label_text.setter
def label_text(self, text):
self.label.setText(text)
示例2: GrubList
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import reset [as 别名]
#.........这里部分代码省略.........
vbox.addWidget(self.grub_list)
vbox.addLayout(hbox)
vbox.addWidget(self.scanText)
vbox.addWidget(self.progressbar)
vbox.addWidget(buttonBox)
# Affichage de l'interface
self.setLayout(vbox)
#Signals
self.scanner.found_rep.connect(self.add_items)
self.scanner.started.connect(self._scan_started)
self.scanner.finished.connect(self._scan_finished)
self.scanner.max_changed.connect(self.progressbar.setMaximum)
self.scanner.value_changed.connect(self.progressbar.setValue)
self.scanner.dir_scanned.connect(self._setScanText)
# Ajout de /boot/grub s'il existe
if path.Path("/boot/grub/grub.cfg").exists():
self.add_item("/boot/grub")
def selectGrubRep(self):
self.setModal(True)
result = self.exec_()
if result == QDialog.Accepted:
grubRep = self.getGrubRep()
return grubRep
else:
return False
def scan(self):
warning = QMessageBox(self)
msg = ("Cette opération peut être très longue.\n"
"Le logiciel va analyser toute votre arborescence de fichier "
"pour chercher un éventuel dossier contenant la configuration de GRUB.")
warning.setText(msg)
warning.setInformativeText("Êtes-vous sûr de vouloir continuer ?")
warning.setStandardButtons(QMessageBox.Yes | QMessageBox.No)
warning.setDefaultButton(QMessageBox.No)
warning.setWindowTitle("Attention")
answer = warning.exec_()
if answer == QMessageBox.Yes:
self.scanner.start()
def openSelectionDialog(self):
dir = QFileDialog.getExistingDirectory(self,
"Sélectionner un répertoire GRUB",
expanduser('~'))
if (path.Path(dir) / "grub.cfg").exists():
self.add_item(dir)
elif dir:
error = QMessageBox(self)
msg = "{} n'est pas un répertoire GRUB valide !".format(dir)
error.setText(msg)
error.setWindowTitle("Répertoire non valide")
error.exec_()
def getGrubRep(self):
dir = self.grub_list.selectedItems()
try:
dir = dir[0].text()
except IndexError:
return False
else:
return dir
@pyqtSlot(list)
def add_items(self, items):
for item in items:
self.add_item(item)
self.grub_list.setCurrentRow(0)
@pyqtSlot(str)
def add_item(self, dir):
item = None
for i in range(self.grub_list.count()):
if self.grub_list.item(i).text() == dir:
item = self.grub_list.item(i)
if not item:
item = QListWidgetItem(dir, self.grub_list)
self.grub_list.setCurrentItem(item)
@pyqtSlot()
def _scan_started(self):
self.progressbar.setEnabled(True)
self.progressbar.setMinimum(0)
self.scanButton.setEnabled(False)
self.add.setEnabled(False)
@pyqtSlot()
def _scan_finished(self):
self.progressbar.reset()
self.progressbar.setEnabled(False)
self.scanText.setText("No scan running")
self.scanButton.setEnabled(True)
self.add.setEnabled(True)
@pyqtSlot(str)
def _setScanText(self, text):
self.scanText.setText("Scanning {}...".format(text))
示例3: XNCStatusBar
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import reset [as 别名]
class XNCStatusBar(QStatusBar):
def __init__(self, parent=None):
super(XNCStatusBar, self).__init__(parent)
# state vars
self.world = XNovaWorld_instance()
# initialization
self.setSizeGripEnabled(True)
# sub-widgets
# progressbar
self._progressbar = QProgressBar(self)
self._progressbar.hide()
self._progressbar.setValue(0)
self._progressbar.setRange(0, 99)
# online players counter
self._lbl_online = QLabel(self.tr('Online') + ': 0', self)
# label with loading.gif
self._loading_gif = QMovie(':/i/loading.gif')
self._lbl_loading = QLabel(self)
self._lbl_loading.setMovie(self._loading_gif)
self._lbl_loading.hide()
# testing only
self._btn_runscript = QPushButton('Run script', self)
self._btn_runscript.clicked.connect(self.on_run_script)
self.addPermanentWidget(self._btn_runscript)
#
self.addPermanentWidget(self._lbl_loading)
self.addPermanentWidget(self._lbl_online) # should be las right widget
self.show()
def set_status(self, msg: str, timeout: int=0):
self.showMessage(msg, timeout)
def set_loading_status(self, loading: bool):
if loading:
self._lbl_loading.show()
self._loading_gif.start()
else:
self._loading_gif.stop()
self._lbl_loading.hide()
def set_world_load_progress(self, comment: str, progress: int):
"""
Display world load progress in status bar
:param comment: string comment of what is currently loading
:param progress: percent progress, or -1 to disable
"""
if progress != -1:
if not self._progressbar.isVisible():
self.insertPermanentWidget(0, self._progressbar)
self._progressbar.show()
msg = self.tr('Loading world') + ' ({0}%) {1}...'.format(progress, comment)
logger.debug(msg)
self._progressbar.setValue(progress)
self.set_status(msg)
else:
self.removeWidget(self._progressbar)
self._progressbar.hide()
self._progressbar.reset()
self.clearMessage()
def update_online_players_count(self):
op = self.world.get_online_players()
self._lbl_online.setText(self.tr('Online') + ': {0}'.format(op))
# some functions may be useful, documentation:
# void QStatusBar::clearMessage()
# void QStatusBar::addPermanentWidget(QWidget * widget, int stretch = 0)
# void QStatusBar::addWidget(QWidget * widget, int stretch = 0)
# void QStatusBar::removeWidget(QWidget * widget)
@pyqtSlot()
def on_run_script(self):
files = os.listdir('scripts')
files.sort()
script_files = [fn for fn in files if fn[0] != '.' and fn.endswith('.py')]
# print(script_files)
menu = QMenu(self)
for script_filename in script_files:
act = QAction(menu)
act.setText('Run "scripts/' + script_filename + '"...')
act.setData('scripts/' + script_filename)
menu.addAction(act)
act_ret = menu.exec(QCursor.pos())
if act_ret is None:
return
script_filename = str(act_ret.data())
s = ''
try:
with open(script_filename, 'rt', encoding='utf-8') as f:
s = f.read()
except IOError:
pass
if s != '':
exec(s)
示例4: Dialog
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import reset [as 别名]
#.........这里部分代码省略.........
self.clientStatusLabel = QLabel("Client ready")
self.serverProgressBar = QProgressBar()
self.serverStatusLabel = QLabel("Server ready")
self.startButton = QPushButton("&Start")
self.quitButton = QPushButton("&Quit")
buttonBox = QDialogButtonBox()
buttonBox.addButton(self.startButton, QDialogButtonBox.ActionRole)
buttonBox.addButton(self.quitButton, QDialogButtonBox.RejectRole)
self.startButton.clicked.connect(self.start)
self.quitButton.clicked.connect(self.close)
self.tcpServer.newConnection.connect(self.acceptConnection)
self.tcpClient.connected.connect(self.startTransfer)
self.tcpClient.bytesWritten.connect(self.updateClientProgress)
self.tcpClient.error.connect(self.displayError)
mainLayout = QVBoxLayout()
mainLayout.addWidget(self.clientProgressBar)
mainLayout.addWidget(self.clientStatusLabel)
mainLayout.addWidget(self.serverProgressBar)
mainLayout.addWidget(self.serverStatusLabel)
mainLayout.addStretch(1)
mainLayout.addSpacing(10)
mainLayout.addWidget(buttonBox)
self.setLayout(mainLayout)
self.setWindowTitle("Loopback")
def start(self):
self.startButton.setEnabled(False)
QApplication.setOverrideCursor(Qt.WaitCursor)
self.bytesWritten = 0
self.bytesReceived = 0
while not self.tcpServer.isListening() and not self.tcpServer.listen():
ret = QMessageBox.critical(self, "Loopback",
"Unable to start the test: %s." % self.tcpServer.errorString(),
QMessageBox.Retry | QMessageBox.Cancel)
if ret == QMessageBox.Cancel:
return
self.serverStatusLabel.setText("Listening")
self.clientStatusLabel.setText("Connecting")
self.tcpClient.connectToHost(QHostAddress(QHostAddress.LocalHost), self.tcpServer.serverPort())
def acceptConnection(self):
self.tcpServerConnection = self.tcpServer.nextPendingConnection()
self.tcpServerConnection.readyRead.connect(self.updateServerProgress)
self.tcpServerConnection.error.connect(self.displayError)
self.serverStatusLabel.setText("Accepted connection")
self.tcpServer.close()
def startTransfer(self):
self.bytesToWrite = Dialog.TotalBytes - self.tcpClient.write(QByteArray(Dialog.PayloadSize, '@'))
self.clientStatusLabel.setText("Connected")
def updateServerProgress(self):
self.bytesReceived += self.tcpServerConnection.bytesAvailable()
self.tcpServerConnection.readAll()
self.serverProgressBar.setMaximum(Dialog.TotalBytes)
self.serverProgressBar.setValue(self.bytesReceived)
self.serverStatusLabel.setText("Received %dMB" % (self.bytesReceived / (1024 * 1024)))
if self.bytesReceived == Dialog.TotalBytes:
self.tcpServerConnection.close()
self.startButton.setEnabled(True)
QApplication.restoreOverrideCursor()
def updateClientProgress(self, numBytes):
self.bytesWritten += numBytes
if self.bytesToWrite > 0:
self.bytesToWrite -= self.tcpClient.write(QByteArray(
min(self.bytesToWrite, Dialog.PayloadSize), '@'))
self.clientProgressBar.setMaximum(Dialog.TotalBytes)
self.clientProgressBar.setValue(self.bytesWritten)
self.clientStatusLabel.setText("Sent %dMB" % (self.bytesWritten / (1024 * 1024)))
def displayError(self, socketError):
if socketError == QTcpSocket.RemoteHostClosedError:
return
QMessageBox.information(self, "Network error",
"The following error occured: %s." % self.tcpClient.errorString())
self.tcpClient.close()
self.tcpServer.close()
self.clientProgressBar.reset()
self.serverProgressBar.reset()
self.clientStatusLabel.setText("Client ready")
self.serverStatusLabel.setText("Server ready")
self.startButton.setEnabled(True)
QApplication.restoreOverrideCursor()
示例5: Splash
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import reset [as 别名]
class Splash(QObject, LogMixin, EventMixin):
"""Splash screen class"""
def __init__(self, parent, msg = ""):
"""
Constructor of Splash screen
:param parent: ui parent
:param msg: initial message text
"""
super().__init__()
self._parent = parent
self.isHidden = True
self._progress = 0
self._progressBar = None
self.msg = msg
pixmap = QtGui.QPixmap(380, 100)
pixmap.fill(QtGui.QColor("darkgreen"))
self._splash = QSplashScreen(pixmap)
self._splash.setParent(self._parent)
self.add_progressbar()
def add_progressbar(self):
"""Add separate progress bar to splash screen"""
self._progressBar = QProgressBar(self._splash)
self._progressBar.setGeometry(self._splash.width() / 10, 8 * self._splash.height() / 10,
8 * self._splash.width() / 10, self._splash.height() / 10)
self._progressBar.hide()
def setProgress(self, val):
"""
Set progress bar to ``val``
If splash has no progressbar, it will be added dynamically.
Remove progressbar with ``val`` as None.
:param val: absolut percent value
:return:
"""
if val is not None:
self._progressBar.show()
self._progressBar.setTextVisible(True)
self.progress = val
try:
self._progressBar.setValue(self.progress)
except:
pass
else:
self._progressBar.setTextVisible(False)
self._progressBar.hide()
self._progressBar.reset()
if self.isHidden is True:
self.isHidden = False
self.show_()
def incProgress(self, val):
"""
Increase progressbar value by ``val``
If splash has no progressbar, it will be added dynamically.
Remove progressbar with ``val`` as None.
:param val: value to increase by
:return:
"""
if val is not None:
self._progressBar.show()
self._progressBar.setTextVisible(True)
self.progress = self.progress + val
try:
self._progressBar.setValue(self.progress)
qApp.processEvents()
except:
pass
else:
self._progressBar.setTextVisible(False)
self._progressBar.hide()
self._progressBar.reset()
if self.isHidden is True:
self.isHidden = False
self.show_()
def setParent(self, parent):
"""Set splash's parent"""
self._parent = parent
self._splash.setParent(parent)
@pyqtSlot()
@pyqtSlot(bool)
def close(self, dummy = True):
self.logger.debug("Hide splash")
self.isHidden = True
#.........这里部分代码省略.........