• 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

  • 相关阅读:
    Firemonkey 控件设定字型属性及颜色
    ListView 使用 LiveBindings 显示超过 200 条记录
    Firemonkey ListView 获取项目右方「>」(Accessory) 事件
    XE7 Update 1 选 iOS 8.1 SDK 发布 iPhone 3GS 实机测试
    Firemonkey Bitmap 设定像素颜色 Pixel
    Firemonkey 移动平台 Form 显示使用 ShowModal 范例
    XE7 提交 App(iOS 8)提示「does not contain the correct beta entitlement」问题修复
    XE7 Android 中使用 MessageDlg 范例
    导出 XE6 预设 Android Style (*.style) 档案
    修正 Memo 設定為 ReadOnly 後, 無法有複製的功能
  • 原文地址:https://www.cnblogs.com/zach0812/p/11396235.html
Copyright © 2020-2023  润新知