zoukankan      html  css  js  c++  java
  • PyQt5 控件学习(一个一个学习之QProgressBar)

    QProgressBar 的继承图:

    QProgressBar 的描述:

    进度条

    QProgressBar 的继承:

    它是直接继承自QWidget 

    QProgressBar 的功能作用:

    QProgressBar 的功能作用之构造函数:

    from PyQt5.Qt import * #刚开始学习可以这样一下导入
    import sys
    
    class Window(QWidget):
        def __init__(self):
            super().__init__()
            self.setWindowTitle("QProgressBar的学习")
            self.resize(400,400)
            self.set_ui()
    
    
        def set_ui(self):
            progressBar = QProgressBar(self)
    
    
    if __name__ == '__main__':
        app =QApplication(sys.argv)
    
        window = Window()
        window.show()
    
        sys.exit(app.exec_())
    View Code

    QProgressBar 的功能作用之设置范围和当前值:

    from PyQt5.Qt import * #刚开始学习可以这样一下导入
    import sys
    
    class Window(QWidget):
        def __init__(self):
            super().__init__()
            self.setWindowTitle("QProgressBar的学习")
            self.resize(400,400)
            self.set_ui()
    
    
        def set_ui(self):
            progressBar = QProgressBar(self)
            self.progressBar = progressBar
            print(progressBar.minimum())
            print(progressBar.maximum())
    
            # progressBar.setMaximum(200)
            # progressBar.setRange(0,200)
    
            progressBar.setValue(50)
    
            #繁忙状态
            # progressBar.setRange(0,0 )
    
            btn = QPushButton(self)
            btn.setText("按钮")
            btn.move(0,300)
            btn.clicked.connect(self.btn_clicked_slot)
    
            
        def btn_clicked_slot(self):
            self.progressBar.reset()  
    
            
            
        
    
    if __name__ == '__main__':
        app =QApplication(sys.argv)
    
        window = Window()
        window.show()
    
        sys.exit(app.exec_())
    View Code

    QProgressBar 的功能作用之格式设置:

    from PyQt5.Qt import * #刚开始学习可以这样一下导入
    import sys
    
    class Window(QWidget):
        def __init__(self):
            super().__init__()
            self.setWindowTitle("QProgressBar的学习")
            self.resize(400,400)
            self.set_ui()
    
    
        def set_ui(self):
            progressBar = QProgressBar(self)
            self.progressBar = progressBar
    
            progressBar.resize(400,30)
            progressBar.setValue(50)
    
    
            # progressBar.setFormat("当前人数:%v/总人数%m  %p%")
            progressBar.setFormat("当前人数:{}/总人数%m".format(progressBar.value()-progressBar.minimum()))
    
    
    
            btn = QPushButton(self)
            btn.setText("按钮")
            btn.move(0,300)
            btn.clicked.connect(self.btn_clicked_slot)
    
            
        def btn_clicked_slot(self):
            # self.progressBar.resetFormat()
            self.progressBar.setAlignment(Qt.AlignCenter)
            pass
    
    if __name__ == '__main__':
        app =QApplication(sys.argv)
    
        window = Window()
        window.show()
    
        sys.exit(app.exec_())
    View Code

    QProgressBar 的功能作用之文本操作:

    QProgressBar 的功能作用之方向:

    from PyQt5.Qt import * #刚开始学习可以这样一下导入
    import sys
    
    class Window(QWidget):
        def __init__(self):
            super().__init__()
            self.setWindowTitle("QProgressBar的学习")
            self.resize(400,400)
            self.set_ui()
    
    
        def set_ui(self):
            progressBar = QProgressBar(self)
            self.progressBar = progressBar
    
            progressBar.resize(400,30)
            progressBar.setValue(50)
    
    
            # progressBar.setFormat("当前人数:%v/总人数%m  %p%")
            progressBar.setFormat("当前人数:{}/总人数%m".format(progressBar.value()-progressBar.minimum()))
    
    
    
            btn = QPushButton(self)
            btn.setText("按钮")
            btn.move(0,300)
            btn.clicked.connect(self.btn_clicked_slot)
    
            
        def btn_clicked_slot(self):
            #文本操作
            # self.progressBar.setTextVisible(False)
            # print(self.progressBar.text())
    
    
            self.progressBar.resize(30,200)
            self.progressBar.setOrientation(Qt.Vertical)
            print(self.progressBar.isVisible())  #True ,但是看不到
            # self.progressBar.setTextDirection(QProgressBar.TopToBottom)
            #也没有显示
            pass
    
            
            
        
    
    if __name__ == '__main__':
        app =QApplication(sys.argv)
    
        window = Window()
        window.show()
    
        sys.exit(app.exec_())
    View Code

    QProgressBar 的功能作用之倒立外观(反转):

    from PyQt5.Qt import * #刚开始学习可以这样一下导入
    import sys
    
    class Window(QWidget):
        def __init__(self):
            super().__init__()
            self.setWindowTitle("QProgressBar的学习")
            self.resize(400,400)
            self.set_ui()
    
    
        def set_ui(self):
            progressBar = QProgressBar(self)
            self.progressBar = progressBar
    
            progressBar.resize(400,30)
            progressBar.setValue(50)
    
    
            # progressBar.setFormat("当前人数:%v/总人数%m  %p%")
            progressBar.setFormat("当前人数:{}/总人数%m".format(progressBar.value()-progressBar.minimum()))
    
    
    
            btn = QPushButton(self)
            btn.setText("按钮")
            btn.move(0,300)
            btn.clicked.connect(self.btn_clicked_slot)
    
            
        def btn_clicked_slot(self):
            #反转
            self.progressBar.setInvertedAppearance(True)
            pass
    
            
            
        
    
    if __name__ == '__main__':
        app =QApplication(sys.argv)
    
        window = Window()
        window.show()
    
        sys.exit(app.exec_())
    View Code

    QProgressBar 的信号:

    from PyQt5.Qt import * #刚开始学习可以这样一下导入
    import sys
    
    class Window(QWidget):
        def __init__(self):
            super().__init__()
            self.setWindowTitle("QProgressBar的学习")
            self.resize(400,400)
            self.set_ui()
    
    
        def set_ui(self):
            progressBar = QProgressBar(self)
            self.progressBar = progressBar
    
            progressBar.resize(400,30)
            progressBar.setValue(50)
    
    
            # progressBar.setFormat("当前人数:%v/总人数%m  %p%")
    
    
    
            btn = QPushButton(self)
            btn.setText("按钮")
            btn.move(0,300)
            btn.clicked.connect(self.btn_clicked_slot)
    
            
        def btn_clicked_slot(self):
            timer = QTimer(self.progressBar)  #定时器归 进度条拥有
            def timer_func():
                # print("xxx")
                if self.progressBar.value() >= self.progressBar.maximum():
                    timer.stop()
                self.progressBar.setValue(self.progressBar.value()+20)
                self.progressBar.setFormat("当前人数:{}/总人数%m".format(self.progressBar.value()-self.progressBar.minimum()))
    
    
            timer.timeout.connect(timer_func)  #使用信号
    
            timer.start(1000)  #每隔1s
            #信号 
            self.progressBar.valueChanged.connect(lambda val:print(val))
            
            
        
    
    if __name__ == '__main__':
        app =QApplication(sys.argv)
    
        window = Window()
        window.show()
    
        sys.exit(app.exec_())
    View Code

    总结:

    以上就是QProgressBar ,下面是展示控件中的第四类:对话框样式的展示控件QDialog:

    首先看QErrorMessage :https://www.cnblogs.com/zach0812/p/11398394.html

  • 相关阅读:
    TSQL笔记4:表
    C#笔记26: 与非托管代码交互操作
    C#笔记22:多线程之停止或取消线程
    C#笔记25:比较和排序(IComparable和IComparer以及它们的泛型实现)
    TSQL笔记7:临时表和表变量
    TSQL笔记6:GO
    WPF快速指导9:WPF中的属性(依赖项属性)
    TSQL笔记2:INSERT、UPDATE和DELETE
    C#笔记23:多线程之Task(并行编程)
    云计算读书笔记(一)
  • 原文地址:https://www.cnblogs.com/zach0812/p/11396235.html
Copyright © 2011-2022 走看看