qt – 当Windows上的setRange(0,0)时,将文本放在QProgressBar的
发布时间:2020-12-14 04:03:22 所属栏目:Windows 来源:网络整理
导读:如何在 Windows上的setRange(0,0)中将文本(不仅仅是数字)放在QProgressBar的中间? 以下是PyQt示例,仍然无法按预期工作. import sysfrom PyQt4.QtGui import *from PyQt4.QtCore import *class MainWindow(QMainWindow): def __init__(self,parent=None): su
如何在
Windows上的setRange(0,0)中将文本(不仅仅是数字)放在QProgressBar的中间?
以下是PyQt示例,仍然无法按预期工作. import sys from PyQt4.QtGui import * from PyQt4.QtCore import * class MainWindow(QMainWindow): def __init__(self,parent=None): super(MainWindow,self).__init__(parent) self.resize(800,600) # self.lb=QLabel('finding resource ') self.pb = QProgressBar() self.pb.setRange(0,0) self.pb.setAlignment(Qt.AlignCenter) self.pb.setFormat('finding resource...') self.pb.setStyleSheet("text-align: center;") # self.pb.setTextVisible(False) self.statusBar().setSizeGripEnabled(False) # print(self.statusBar().layout() ) self.statusBar().setStyleSheet("QStatusBar::item {border: none;}") self.statusBar().addPermanentWidget(self.pb,1) if __name__ == "__main__": app = QApplication(sys.argv) ui = MainWindow() ui.show() sys.exit(app.exec_()) 解决方法
vahancho在他的
answer中很好地解释了原因并提到覆盖QProgressBar.text().幸运的是,这在Python中很简单,我知道如何做到这一点.
from PySide import QtGui,QtCore class MyProgressBar(QtGui.QProgressBar): """ Progress bar in busy mode with text displayed at the center. """ def __init__(self): super().__init__() self.setRange(0,0) self.setAlignment(QtCore.Qt.AlignCenter) self._text = None def setText(self,text): self._text = text def text(self): return self._text app = QtGui.QApplication([]) p = MyProgressBar() p.setText('finding resource...') p.show() app.exec_() 给 这是在Windows 7上. 顺便说一句.首先我想到了蛮力方法:在QProgressBar之上使用QLabel的QStackedLayout.这也应该始终有效. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- resolveLocalFileSystemURI错误代码5 windows phone 7 phon
- windows – 如何在实时服务器上执行升级
- 在Windows中发布Java文件锁
- windows-server-2003 – 仅在Windows Server 2003上启用控制
- windows-runtime – Metro App ListView SelectedItem选择V
- windows – RASPHONE.exe和RASDIAL.exe之间的区别
- Windows模拟UNIX atoh()函数
- windows-server-2003 – 我忘记了W2K3管理员密码.是否可以重
- windows-phone – 如何使用.NET代码从Windows Phone Market
- 修复win10设置还原点时出现的80042302错误