本文整理汇总了Python中PyQt5.QtWidgets.QProgressBar.setFixedHeight方法的典型用法代码示例。如果您正苦于以下问题:Python QProgressBar.setFixedHeight方法的具体用法?Python QProgressBar.setFixedHeight怎么用?Python QProgressBar.setFixedHeight使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PyQt5.QtWidgets.QProgressBar
的用法示例。
在下文中一共展示了QProgressBar.setFixedHeight方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TorrentListWidgetItem
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setFixedHeight [as 别名]
class TorrentListWidgetItem(QWidget):
_name_font = QFont()
_name_font.setBold(True)
_stats_font = QFont()
_stats_font.setPointSize(10)
def __init__(self):
super().__init__()
vbox = QVBoxLayout(self)
self._name_label = QLabel()
self._name_label.setFont(TorrentListWidgetItem._name_font)
vbox.addWidget(self._name_label)
self._upper_status_label = QLabel()
self._upper_status_label.setFont(TorrentListWidgetItem._stats_font)
vbox.addWidget(self._upper_status_label)
self._progress_bar = QProgressBar()
self._progress_bar.setFixedHeight(15)
self._progress_bar.setMaximum(1000)
vbox.addWidget(self._progress_bar)
self._lower_status_label = QLabel()
self._lower_status_label.setFont(TorrentListWidgetItem._stats_font)
vbox.addWidget(self._lower_status_label)
self._state = None
self._waiting_control_action = False
@property
def state(self) -> TorrentState:
return self._state
@state.setter
def state(self, state: TorrentState):
self._state = state
self._update()
@property
def waiting_control_action(self) -> bool:
return self._waiting_control_action
@waiting_control_action.setter
def waiting_control_action(self, value: bool):
self._waiting_control_action = value
self._update()
def _update(self):
state = self._state
self._name_label.setText(state.suggested_name) # FIXME: Avoid XSS in all setText calls
if state.downloaded_size < state.selected_size:
status_text = '{} of {}'.format(humanize_size(state.downloaded_size), humanize_size(state.selected_size))
else:
status_text = '{} (complete)'.format(humanize_size(state.selected_size))
status_text += ', Ratio: {:.1f}'.format(state.ratio)
self._upper_status_label.setText(status_text)
self._progress_bar.setValue(floor(state.progress * 1000))
if self.waiting_control_action:
status_text = 'Waiting'
elif state.paused:
status_text = 'Paused'
elif state.complete:
status_text = 'Uploading to {} of {} peers'.format(state.uploading_peer_count, state.total_peer_count)
if state.upload_speed:
status_text += ' on {}'.format(humanize_speed(state.upload_speed))
else:
status_text = 'Downloading from {} of {} peers'.format(
state.downloading_peer_count, state.total_peer_count)
if state.download_speed:
status_text += ' on {}'.format(humanize_speed(state.download_speed))
eta_seconds = state.eta_seconds
if eta_seconds is not None:
status_text += ', {} remaining'.format(humanize_time(eta_seconds) if eta_seconds is not None else None)
self._lower_status_label.setText(status_text)
示例2: YoutubeDLGui
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setFixedHeight [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:
#.........这里部分代码省略.........