Python Qt常用控件查询文档(随时更新文档)

    科技2022-08-07  118

    QT启动模板

    from PySide2.QtWidgets import QApplication, QMessageBox from PySide2.QtUiTools import QUiLoader class Stats: def __init__(self): # 从文件中加载UI定义 # 从 UI 定义中动态 创建一个相应的窗口对象 # 注意:里面的控件对象也成为窗口对象的属性了 # 比如 self.ui.button , self.ui.textEdit self.ui = QUiLoader().load('main.ui')#动态链接 # self.ui.button.clicked.connect(self.handleCalc)#按钮链接 def handleCalc(self): # info = self.ui.textEdit.toPlainText()#读取文本 # QMessageBox.about(self.ui, # '弹窗标题', # '弹窗正文' # ) app = QApplication([]) stats = Stats() stats.ui.show() app.exec_()

    **

    进度条

    ** QProgressBar 是进度条,如下图所示 重点功能介绍 我们可以通过它的 setRange 方法设定步骤个数,比如 progressBar.setRange(0,5) 然后,通过 setValue 方法,指定当前完成到了哪一步,比如 progressBar.setValue(3)#进行到第三步

    代码如下:

    from PySide2.QtWidgets import QApplication, QMainWindow, QPushButton, QProgressBar,QMessageBox from time import sleep from threading import Thread class Stats(): def __init__(self): self.window = QMainWindow() self.window.resize(500, 400) self.window.move(300, 300) self.progressBar = QProgressBar(self.window) self.progressBar.resize(300, 20) self.progressBar.move(80, 30) # 进度是 0 - 5, self.progressBar.setRange(0,5) self.button = QPushButton('统计', self.window) self.button.move(80, 80) self.button.clicked.connect(self.handleCalc) # 统计进行中标记,不能同时做两个统计 self.ongoing = False def handleCalc(self): def workerThreadFunc(): self.ongoing = True for i in range(1,6): sleep(1) # 设置进度值 self.progressBar.setValue(i) self.ongoing = False if self.ongoing: QMessageBox.warning( self.window, '警告','任务进行中,请等待完成') return # 通常任务执行比较耗时,应该在新的线程中进行 # 否则会阻塞主线程显示界面 worker = Thread(target=workerThreadFunc) worker.start() app = QApplication([]) stats = Stats() stats.window.show() app.exec_()

    参考链接:白月黑羽

    Processed: 0.014, SQL: 8