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

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红框:

python3.x+pyqt5实现主窗口状态栏里(嵌入)显示进度条_第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实现主窗口状态栏里(嵌入)显示进度条_第2张图片

                                                                                        图2

你可能感兴趣的:(python3.x+pyqt5实现主窗口状态栏里(嵌入)显示进度条)