• qt动态加载UI文件


    from PySide2.QtWidgets import QApplication, QMessageBox
    from PySide2.QtUiTools import QUiLoader
    from PySide2.QtCore import QFile
    
    class Stats:
    
        def __init__(self):
            # 从文件中加载UI定义
            qfile_stats =QFile("stats.ui")
            qfile_stats.open(QFile.ReadOnly)
            qfile_stats.close()
            # 从 UI 定义中动态 创建一个相应的窗口对象
            # 注意:里面的控件对象也成为窗口对象的属性了
            # 比如 self.ui.button , self.ui.textEdit
            self.ui = QUiLoader().load(qfile_stats)
            self.ui.button.clicked.connect(self.handleCalc)
    
        def handleCalc(self):
            info = self.ui.textEdit.toPlainText()
    
            salary_above_20k = ''
            salary_below_20k = ''
            for line in info.splitlines():
                if not line.strip():
                    continue
                parts = line.split(' ')
    
                parts = [p for p in parts if p]
                name,salary,age = parts
                if int(salary) >= 20000:
                    salary_above_20k += name + '
    '
                else:
                    salary_below_20k += name + '
    '
    
            QMessageBox.about(self.ui,
                        '统计结果',
                        f'''薪资20000 以上的有:
    {salary_above_20k}
                        
    薪资20000 以下的有:
    {salary_below_20k}'''
                        )
    
    app = QApplication([])
    stats = Stats()
    stats.ui.show()
    app.exec_()
  • 相关阅读:
    Python2.7-math, cmath
    Python2.7-pprint
    Python2.7-copy
    Python2.7-weakref
    Python2.7-Queue
    Python2.7-sched
    Python2.7-array
    Python2.7-bisect
    搜索专题:Balloons
    【洛谷P4460】解锁屏幕【状压dp】
  • 原文地址:https://www.cnblogs.com/findz/p/12980142.html
Copyright © 2020-2023  润新知