• PyQt5实时刷新


    对于执行很耗时的程序来说,由于PyQt需要等待程序执行完毕才能进行下一步,这个过程表现在界面上就是卡顿,而如果需要执行这个耗时程序时不断的刷新界面。那么就可以使用QApplication.processEvents(),那么就可以一边执行耗时程序,一边刷新界面的功能,给人的感觉就是程序运行很流畅,因此QApplicationEvents()的使用方法就是,在主函数执行耗时操作的地方,加入QApplication.processEvents()。

    import sys,time
    from PyQt5.QtWidgets import QWidget,QPushButton,QApplication,QListWidget,QGridLayout
    
    class WinForm(QWidget):
        def __init__(self,parent=None):
            super(WinForm, self).__init__(parent)
            #设置标题与布局方式
            self.setWindowTitle('实时刷新界面的例子')
            layout=QGridLayout()
    
            #实例化列表控件与按钮控件
            self.listFile=QListWidget()
            self.btnStart=QPushButton('开始')
    
            #添加到布局中指定位置
            layout.addWidget(self.listFile,0,0,1,2)
            layout.addWidget(self.btnStart,1,1)
    
            #按钮的点击信号触发自定义的函数
            self.btnStart.clicked.connect(self.slotAdd)
            self.setLayout(layout)
        def slotAdd(self):
            for n in range(10):
                #获取条目文本
                str_n='File index{0}'.format(n)
                #添加文本到列表控件中
                self.listFile.addItem(str_n)
                #实时刷新界面
                QApplication.processEvents()
                #睡眠一秒
                time.sleep(1)
    if __name__ == '__main__':
        app=QApplication(sys.argv)
        win=WinForm()
        win.show()
        sys.exit(app.exec_())
    不考虑业务场景,一味的争执技术的高下,都是耍流氓。
  • 相关阅读:
    PHP
    优秀网址
    客户关系管理系统CRM
    面试题
    练习并熟练掌握交互式 SQL 语言
    嵌入式的SQL程序设计
    数据库总结
    JDBC
    玩转Android之Drawable的使用
    Android开发之Activity转场动画
  • 原文地址:https://www.cnblogs.com/leoych/p/14450854.html
Copyright © 2020-2023  润新知