本文整理汇总了Python中PyQt5.QtWidgets.QProgressBar.setFixedWidth方法的典型用法代码示例。如果您正苦于以下问题:Python QProgressBar.setFixedWidth方法的具体用法?Python QProgressBar.setFixedWidth怎么用?Python QProgressBar.setFixedWidth使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PyQt5.QtWidgets.QProgressBar
的用法示例。
在下文中一共展示了QProgressBar.setFixedWidth方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: LabeledProgressBar
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setFixedWidth [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: YoutubeDLGui
# 需要导入模块: from PyQt5.QtWidgets import QProgressBar [as 别名]
# 或者: from PyQt5.QtWidgets.QProgressBar import setFixedWidth [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:
#.........这里部分代码省略.........