python3.x+pyqt5实现主窗口状态栏里(嵌入)显示进度条功能

yipeiwu_com6年前Python基础

1、代码1:

(1)进度条等显示在主窗口状态栏的右端,代码如下:

from PyQt5.QtWidgets import QMainWindow, QProgressBar, QApplication, QLabel
import sys
class SampleBar(QMainWindow):
  """Main Application"""
  def __init__(self, parent = None):
    print('Starting the main Application')
    super(SampleBar, self).__init__(parent)
    self.initUI()
  def initUI(self):
    # Pre Params:
    self.setMinimumSize(800, 600)
    # File Menus & Status Bar:
    self.statusBar().showMessage('准备中...')
    self.progressBar = QProgressBar()
    self.label = QLabel()
    self.label2 = QLabel()
    self.label.setText("正在计算: ")
    self.label2.setText("正在计算: ")
    self.statusBar().addPermanentWidget(self.label)
    self.statusBar().addPermanentWidget(self.label2)
    self.statusBar().addPermanentWidget(self.progressBar)
    # self.statusBar().addWidget(self.progressBar)
    # This is simply to show the bar
    self.progressBar.setGeometry(0, 0, 100, 5)
    self.progressBar.setRange(0, 500) # 设置进度条的范围
    self.progressBar.setValue(100)
if __name__ == '__main__':
  app = QApplication(sys.argv)
  main2 = SampleBar()
  main2.show()
  sys.exit(app.exec_())

(2)实现的界面如下图1红框:

                                                                                           图1

2、代码2:

(1)进度条等显示在主窗口状态栏的左端,代码如下:

from PyQt5.QtWidgets import QMainWindow, QProgressBar, QApplication, QLabel, \
  QStatusBar, QPushButton
import sys
class SampleBar(QMainWindow):
  """Main Application"""
  def __init__(self, parent = None):
    # print('Starting the main Application')
    super(SampleBar, self).__init__(parent)
    self.initUI()
  def initUI(self):
    # Pre Params:
    self.setMinimumSize(800, 600)
    # File Menus & Status Bar:
    self.statusBar = QStatusBar()
    self.statusBar.setStyleSheet('QStatusBar::item {border: none;}')
    self.setStatusBar(self.statusBar)
    self.statusBar.showMessage('准备')
    self.progressBar = QProgressBar()
    self.pushbutton = QPushButton("点这里")
    self.label = QLabel()
    self.label2 = QLabel()
    self.label.setText("开始计算 ")
    self.label2.setText("正在计算: ")
    # self.statusBar.addWidget(self.label, 0)
    self.statusBar.addPermanentWidget(self.label, stretch=2)
    self.statusBar.addPermanentWidget(self.label2, stretch=0)
    self.statusBar.addPermanentWidget(self.progressBar, stretch=4)
    # self.statusBar().addWidget(self.progressBar)
    # This is simply to show the bar
    # self.progressBar.setGeometry(0, 0, 100, 5)
    self.progressBar.setRange(0, 500) # 设置进度条的范围
    self.progressBar.setValue(20)
if __name__ == '__main__':
  app = QApplication(sys.argv)
  main2 = SampleBar()
  main2.show()
  sys.exit(app.exec_())

2)实现的界面如下图2红框:

总结

以上所述是小编给大家介绍的python3.x+pyqt5实现主窗口状态栏里(嵌入)显示进度条功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

Python入门Anaconda和Pycharm的安装和配置详解

Python入门Anaconda和Pycharm的安装和配置详解

子曰:“工欲善其事,必先利其器。”学习Python就需要有编译Python程序的软件,一般情况下,我们选择在Python官网下载对应版本的Python然后用记事本编写,再在终端进行编译运...

Python中的exec、eval使用实例

通过exec可以执行动态Python代码,类似Javascript的eval功能;而Python中的eval函数可以计算Python表达式,并返回结果(exec不返回结果,print(e...

selenium+python自动化测试之多窗口切换

selenium+python自动化测试之多窗口切换

在很多页面上都有可点击的链接,点击这些链接会打开一个新的窗口,这时如果要在新打开的窗口中操作页面,就需要先切换到新窗口中,如果不进行切换操作,还是操作的上一个页面窗口 浏览器窗口的切换通...

Python中交换两个元素的实现方法

Python既具有普通程序开发语言的特点,也具有Matlab语言用于数值计算的特点,,当然了数值计算是由其其强大的第三方库numpy实现的,矩阵在python中数据类型是ndarray,...

python pandas消除空值和空格以及 Nan数据替换方法

在人工采集数据时,经常有可能把空值和空格混在一起,一般也注意不到在本来为空的单元格里加入了空格。这就给做数据处理的人带来了麻烦,因为空值和空格都是代表的无数据,而pandas中Serie...