本文整理汇总了Python中PyQt5.QtWidgets.QProgressBar.setMinimum方法的典型用法代码示例。如果您正苦于以下问题:Python QProgressBar.setMinimum方法的具体用法?Python QProgressBar.setMinimum怎么用?Python QProgressBar.setMinimum使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PyQt5.QtWidgets.QProgressBar
的用法示例。
在下文中一共展示了QProgressBar.setMinimum方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMinimum [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: PowerIndicator
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMinimum [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)
示例3: start_download
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMinimum [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()
示例4: __init__
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMinimum [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)
示例5: E5ProgressDialog
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMinimum [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)
示例6: download_pkl
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMinimum [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")
示例7: CpSplashScreen
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMinimum [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)
示例8: GrubList
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMinimum [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))
示例9: LabelAssistDialog
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMinimum [as 别名]
class LabelAssistDialog(QDialog):
"""
A simple UI for showing bookmarks and navigating to them.
FIXME: For now, this window is tied to a particular lane.
If your project has more than one lane, then each one
will have it's own bookmark window, which is kinda dumb.
"""
def __init__(self, parent, topLevelOperatorView):
super(LabelAssistDialog, self).__init__(parent)
# Create thread router to populate table on main thread
self.threadRouter = ThreadRouter(self)
# Set object classification operator view
self.topLevelOperatorView = topLevelOperatorView
self.setWindowTitle("Label Assist")
self.setMinimumWidth(500)
self.setMinimumHeight(700)
layout = QGridLayout()
layout.setContentsMargins(10, 10, 10, 10)
# Show variable importance table
rows = 0
columns = 4
self.table = QTableWidget(rows, columns)
self.table.setHorizontalHeaderLabels(['Frame', 'Max Area', 'Min Area', 'Labels'])
self.table.verticalHeader().setVisible(False)
# Select full row on-click and call capture double click
self.table.setSelectionBehavior(QTableView.SelectRows);
self.table.doubleClicked.connect(self._captureDoubleClick)
layout.addWidget(self.table, 1, 0, 3, 2)
# Create progress bar
self.progressBar = QProgressBar()
self.progressBar.setMinimum(0)
self.progressBar.setMaximum(0)
self.progressBar.hide()
layout.addWidget(self.progressBar, 4, 0, 1, 2)
# Create button to populate table
self.computeButton = QPushButton('Compute object info')
self.computeButton.clicked.connect(self._triggerTableUpdate)
layout.addWidget(self.computeButton, 5, 0)
# Create close button
closeButton = QPushButton('Close')
closeButton.clicked.connect(self.close)
layout.addWidget(closeButton, 5, 1)
# Set dialog layout
self.setLayout(layout)
def _triggerTableUpdate(self):
# Check that object area is included in selected features
featureNames = self.topLevelOperatorView.SelectedFeatures.value
if 'Standard Object Features' not in featureNames or 'Count' not in featureNames['Standard Object Features']:
box = QMessageBox(QMessageBox.Warning,
'Warning',
'Object area is not a selected feature. Please select this feature on: \"Standard Object Features > Shape > Size in pixels\"',
QMessageBox.NoButton,
self)
box.show()
return
# Clear table
self.table.clearContents()
self.table.setRowCount(0)
self.table.setSortingEnabled(False)
self.progressBar.show()
self.computeButton.setEnabled(False)
def compute_features_for_frame(tIndex, t, features):
# Compute features and labels (called in parallel from request pool)
roi = [slice(None) for i in range(len(self.topLevelOperatorView.LabelImages.meta.shape))]
roi[tIndex] = slice(t, t+1)
roi = tuple(roi)
frame = self.topLevelOperatorView.SegmentationImages(roi).wait()
frame = frame.squeeze().astype(numpy.uint32, copy=False)
# Dirty trick: We don't care what we're passing here for the 'image' parameter,
# but vigra insists that we pass *something*, so we'll cast the label image as float32.
features[t] = vigra.analysis.extractRegionFeatures(frame.view(numpy.float32),
frame,
['Count'],
ignoreLabel=0)
tIndex = self.topLevelOperatorView.SegmentationImages.meta.axistags.index('t')
tMax = self.topLevelOperatorView.SegmentationImages.meta.shape[tIndex]
features = {}
labels = {}
#.........这里部分代码省略.........
示例10: __init__
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMinimum [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: UpdateCheck
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMinimum [as 别名]
class UpdateCheck(QWidget, PrintError):
url = "https://electrum-ltc.org/version"
download_url = "https://electrum-ltc.org/#download"
VERSION_ANNOUNCEMENT_SIGNING_KEYS = (
"LWZzbv5SbiRRjBDL6dUYRdBX9Dp89RDZgG",
)
def __init__(self, main_window, latest_version=None):
self.main_window = main_window
QWidget.__init__(self)
self.setWindowTitle('Electrum-LTC - ' + _('Update Check'))
self.content = QVBoxLayout()
self.content.setContentsMargins(*[10]*4)
self.heading_label = QLabel()
self.content.addWidget(self.heading_label)
self.detail_label = QLabel()
self.detail_label.setTextInteractionFlags(Qt.LinksAccessibleByMouse)
self.detail_label.setOpenExternalLinks(True)
self.content.addWidget(self.detail_label)
self.pb = QProgressBar()
self.pb.setMaximum(0)
self.pb.setMinimum(0)
self.content.addWidget(self.pb)
versions = QHBoxLayout()
versions.addWidget(QLabel(_("Current version: {}".format(version.ELECTRUM_VERSION))))
self.latest_version_label = QLabel(_("Latest version: {}".format(" ")))
versions.addWidget(self.latest_version_label)
self.content.addLayout(versions)
self.update_view(latest_version)
self.update_check_thread = UpdateCheckThread(self.main_window)
self.update_check_thread.checked.connect(self.on_version_retrieved)
self.update_check_thread.failed.connect(self.on_retrieval_failed)
self.update_check_thread.start()
close_button = QPushButton(_("Close"))
close_button.clicked.connect(self.close)
self.content.addWidget(close_button)
self.setLayout(self.content)
self.show()
def on_version_retrieved(self, version):
self.update_view(version)
def on_retrieval_failed(self):
self.heading_label.setText('<h2>' + _("Update check failed") + '</h2>')
self.detail_label.setText(_("Sorry, but we were unable to check for updates. Please try again later."))
self.pb.hide()
@staticmethod
def is_newer(latest_version):
return latest_version > LooseVersion(version.ELECTRUM_VERSION)
def update_view(self, latest_version=None):
if latest_version:
self.pb.hide()
self.latest_version_label.setText(_("Latest version: {}".format(latest_version)))
if self.is_newer(latest_version):
self.heading_label.setText('<h2>' + _("There is a new update available") + '</h2>')
url = "<a href='{u}'>{u}</a>".format(u=UpdateCheck.download_url)
self.detail_label.setText(_("You can download the new version from {}.").format(url))
else:
self.heading_label.setText('<h2>' + _("Already up to date") + '</h2>')
self.detail_label.setText(_("You are already on the latest version of Electrum."))
else:
self.heading_label.setText('<h2>' + _("Checking for updates...") + '</h2>')
self.detail_label.setText(_("Please wait while Electrum checks for available updates."))
示例12: MainWindow
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMinimum [as 别名]
class MainWindow(QMainWindow):
communicate = Communicate()
def __init__(self):
QMainWindow.__init__(self)
self.init_ui()
def init_ui(self):
self.setWindowTitle('Email Maplewood Timetables to UGCloud')
self.setMinimumWidth(800)
main_widget = QWidget()
self.layout = QVBoxLayout()
main_widget.setLayout(self.layout)
self.file_row = QHBoxLayout()
file_input_label = QLabel('Timetable File: ')
self.file_input = QLineEdit()
file_browser_button = QPushButton('Choose File...')
file_browser_button.clicked.connect(lambda: self.open_file_browser(
self.file_input))
self.file_row.addWidget(file_input_label)
self.file_row.addWidget(self.file_input)
self.file_row.addWidget(file_browser_button)
self.layout.addLayout(self.file_row)
self.mail_row = QHBoxLayout()
email_input_label = QLabel('Your UGCloud Email: ')
self.email_input = QLineEdit()
self.email_input.setText('[email protected]')
self.no_reply_label = QLabel('No Reply')
self.no_reply = QCheckBox()
self.no_reply.setChecked(True)
self.mail_row.addWidget(email_input_label)
self.mail_row.addWidget(self.email_input)
self.mail_row.addWidget(self.no_reply_label)
self.mail_row.addWidget(self.no_reply)
self.layout.addLayout(self.mail_row)
self.password_row = QHBoxLayout()
password_input_label = QLabel('Your UGCloud Password: ')
self.password_input = QLineEdit()
self.password_input.setEchoMode(QLineEdit.Password)
self.password_row.addWidget(password_input_label)
self.password_row.addWidget(self.password_input)
self.layout.addLayout(self.password_row)
self.subject_row = QHBoxLayout()
subject_input_label = QLabel('Subject for Emails: ')
self.subject_input = QLineEdit()
self.subject_input.setText('Enjoy your new timetable!')
self.subject_row.addWidget(subject_input_label)
self.subject_row.addWidget(self.subject_input)
self.layout.addLayout(self.subject_row)
self.message_label_row = QHBoxLayout()
self.message_input_label = QLabel('Message')
self.message_label_row.addWidget(self.message_input_label)
self.layout.addLayout(self.message_label_row)
self.message_input_row = QHBoxLayout()
self.message_input = QTextEdit()
self.message_input.setText(' '.join(['Please find your timetable',
'attached to this email']))
self.message_input_row.addWidget(self.message_input)
self.layout.addLayout(self.message_input_row)
self.go_row = QHBoxLayout()
go_button = QPushButton('Send Timetables')
go_button.clicked.connect(self.mail_timetables)
self.go_row.addWidget(go_button)
self.layout.addLayout(self.go_row)
self.setCentralWidget(main_widget)
def open_file_browser(self, input_to_change):
self.file_dialog = QFileDialog()
file_name = self.file_dialog.getOpenFileName(self,
'Choose Timetables',
os.path.expanduser('~'),
'PDF Files (*.pdf)')
if file_name:
input_to_change.setText(file_name[0])
def init_output_display(self, pdf_page_count):
output_window = QDialog()
output_window.setWindowTitle('Mail Progress')
layout = QVBoxLayout()
self.progress_bar = QProgressBar()
self.progress_bar.setMinimum(0)
self.progress_bar.setMaximum(pdf_page_count)
self.progress_bar.setValue(0)
layout.addWidget(self.progress_bar)
self.output_text = QTextEdit()
self.output_text.setMinimumHeight(300)
self.output_text.setReadOnly(True)
layout.addWidget(self.output_text)
#.........这里部分代码省略.........
示例13: MainWindow
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMinimum [as 别名]
#.........这里部分代码省略.........
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()
示例14: YoutubeDLGui
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMinimum [as 别名]
class YoutubeDLGui(QMainWindow):
def __init__(self):
super(YoutubeDLGui, self).__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
Center(self)
self.download_model = QStandardItemModel(0, 5, self)
self.download_model.setHeaderData(0, QtCore.Qt.Horizontal, 'Name')
self.download_model.setHeaderData(1, QtCore.Qt.Horizontal, 'Progress')
self.download_model.setHeaderData(2, QtCore.Qt.Horizontal, 'Size')
self.download_model.setHeaderData(3, QtCore.Qt.Horizontal, 'ETA')
self.download_model.setHeaderData(4, QtCore.Qt.Horizontal, 'Speed')
self.ui.downloadView.setModel(self.download_model)
self.pending_model = QStandardItemModel(0, 2, self)
self.pending_model.setHeaderData(0, QtCore.Qt.Horizontal, 'Name')
self.pending_model.setHeaderData(1, QtCore.Qt.Horizontal, 'Quality')
self.ui.pendingView.setModel(self.pending_model)
self.ui.pendingView.setItemDelegate(CustomToolTipDelegate(self.ui.pendingView))
self.init_status_bar()
self.parsing_worker = WorkerBuilder.build(bool)
self.pending_list = []
def init_status_bar(self):
self.pending_progressbar = QProgressBar()
self.pending_progressbar.setFixedHeight(20)
self.pending_progressbar.setFixedWidth(150)
self.pending_progressbar.setMaximum(0)
self.pending_progressbar.setMinimum(0)
self.pending_label = QLabel("")
self.pending_label.setAlignment(QtCore.Qt.AlignLeading)
self.pending_label.setFixedWidth(220)
font = self.pending_label.font()
font.setPointSize(10)
self.pending_label.setFont(font)
self.pending_label.setStyleSheet("padding-left: 5px")
self.pending_progressbar.setVisible(False)
self.statusBar().addPermanentWidget(self.pending_progressbar)
self.statusBar().addWidget(self.pending_label)
@pyqtSlot()
def on_addBtn_clicked(self):
url = CustomInputDialog.get_text("Url", "Enter Url")
if not url[1]:
return
if not validators.url(url[0]):
QMessageBox.information(self, "Invalid Url", "Please enter a valid url")
self.on_addBtn_clicked()
ydl_logger = YDLLogger()
ydl_logger.debug_message.connect(self.on_debug_message_emitted)
ydl_opt = {
'logger': ydl_logger
}
self.ui.addBtn.setEnabled(False)
self.parser = InfoParser(url[0], ydl_opt)
self.parsing_worker.set_up(self.parser.generate_info, self.on_parsing_done)
self.parsing_worker.start()
self.pending_progressbar.setVisible(True)
@pyqtSlot(int)
def on_combobox_currentIndexChanged(self, index):
list_index = self.ui.pendingView.currentIndex().row()
self.pending_list[list_index].current_format = self.pending_list[list_index].format_info[index]
@pyqtSlot(str)
def on_debug_message_emitted(self, msg):
self.pending_label.setText(msg)
def add_to_pending(self, ydl_obj):
if ydl_obj in self.pending_list:
return
index = len(self.pending_list)
self.pending_list.append(ydl_obj)
self.pending_model.insertRow(index)
self.pending_model.setData(self.pending_model.index(index, 0), ydl_obj.title)
model_index = self.pending_model.index(index, 0)
self.ui.pendingView.setCurrentIndex(model_index)
self.ui.pendingView.selectionModel().select(model_index, QItemSelectionModel.ClearAndSelect)
combobox = QComboBox()
combobox.currentIndexChanged[int].connect(self.on_combobox_currentIndexChanged)
for ydl_format in ydl_obj.info:
format_text = "%s, %s, %s" % (ydl_format['extension'], ydl_format['resolution'], ydl_format['filesize'])
combobox.addItem(format_text)
self.ui.pendingView.setIndexWidget(self.pending_model.index(index, 1), combobox)
self.ui.tabWidget.setCurrentIndex(1)
def on_parsing_done(self, success):
self.pending_progressbar.setVisible(False)
self.pending_label.setText("")
self.ui.addBtn.setEnabled(True)
if success:
self.add_to_pending(self.parser.ydl_object)
else:
#.........这里部分代码省略.........
示例15: QuadStatusBar
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setMinimum [as 别名]
class QuadStatusBar(QHBoxLayout):
positionChanged = pyqtSignal(int, int, int) # x,y,z
def __init__(self, parent=None):
QHBoxLayout.__init__(self, parent)
self.setContentsMargins(0, 4, 0, 0)
self.setSpacing(0)
self.timeControlFontSize = 12
def showXYCoordinates(self):
self.zLabel.setHidden(True)
self.zSpinBox.setHidden(True)
def showXYZCoordinates(self):
self.zLabel.setHidden(False)
self.zSpinBox.setHidden(False)
def hideTimeSlider(self, flag):
visibleBefore = not self.timeSlider.isHidden()
self.timeSlider.setHidden(flag)
self.timeEndButton.setHidden(flag)
self.timeStartButton.setHidden(flag)
self.timePreviousButton.setHidden(flag)
self.timeNextButton.setHidden(flag)
self._registerTimeframeShortcuts(enabled=not flag, remove=visibleBefore)
def setToolTipTimeButtons(self, croppingFlag=False):
self.timeStartButton.setToolTip("First Frame")
self.timeEndButton.setToolTip("Last Frame")
self.timePreviousButton.setToolTip("Previous Frame")
self.timeNextButton.setToolTip("Next Frame")
def setToolTipTimeSlider(self, croppingFlag=False):
self.timeSlider.setToolTip("Choose the time coordinate of the current dataset.")
def createQuadViewStatusBar(
self, xbackgroundColor, xforegroundColor, ybackgroundColor, yforegroundColor, zbackgroundColor, zforegroundColor
):
self.xLabel, self.xSpinBox = _get_pos_widget("X", xbackgroundColor, xforegroundColor)
self.yLabel, self.ySpinBox = _get_pos_widget("Y", ybackgroundColor, yforegroundColor)
self.zLabel, self.zSpinBox = _get_pos_widget("Z", zbackgroundColor, zforegroundColor)
self.xSpinBox.delayedValueChanged.connect(partial(self._handlePositionBoxValueChanged, "x"))
self.ySpinBox.delayedValueChanged.connect(partial(self._handlePositionBoxValueChanged, "y"))
self.zSpinBox.delayedValueChanged.connect(partial(self._handlePositionBoxValueChanged, "z"))
self.addWidget(self.xLabel)
self.addWidget(self.xSpinBox)
self.addWidget(self.yLabel)
self.addWidget(self.ySpinBox)
self.addWidget(self.zLabel)
self.addWidget(self.zSpinBox)
self.addSpacing(10)
self.crosshairsCheckbox = QCheckBox()
self.crosshairsCheckbox.setChecked(False)
self.crosshairsCheckbox.setCheckable(True)
self.crosshairsCheckbox.setText("Crosshairs")
self.addWidget(self.crosshairsCheckbox)
self.addSpacing(10)
self.busyIndicator = QProgressBar()
self.busyIndicator.setMaximumWidth(200)
self.busyIndicator.setMaximum(0)
self.busyIndicator.setMinimum(0)
self.busyIndicator.setVisible(False)
self.busyIndicator.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
self.addWidget(self.busyIndicator)
self.setStretchFactor(self.busyIndicator, 1)
self.addStretch()
self.addSpacing(20)
self.timeSpinBox = DelayedSpinBox(750)
icons_dir = os.path.dirname(volumina.__file__) + "/icons"
self.timeStartButton = QToolButton()
self.timeStartButton.setIcon(QIcon(icons_dir + "/skip-start.png"))
self.addWidget(self.timeStartButton)
self.timeStartButton.clicked.connect(self._onTimeStartButtonClicked)
# self.timeStartButton.setFixedWidth(4*self.timeControlFontSize)
self.timePreviousButton = QToolButton()
self.timePreviousButton.setIcon(QIcon(icons_dir + "/play-reverse.png"))
self.addWidget(self.timePreviousButton)
self.timePreviousButton.clicked.connect(self._onTimePreviousButtonClicked)
# self.timePreviousButton.setFixedWidth(4*self.timeControlFontSize)
self.timeSlider = QSlider(Qt.Horizontal)
self.timeSlider.setMinimumWidth(10)
self.timeSlider.setMaximumWidth(200)
self.setToolTipTimeSlider()
self.addWidget(self.timeSlider)
self.timeSlider.valueChanged.connect(self._onTimeSliderChanged)
self.timeNextButton = QToolButton()
#.........这里部分代码省略.........