3 QT 界面设计 Qt Designer

界面设计和布局 - 白月黑羽 (byhy.net)icon-default.png?t=N7T8https://www.byhy.net/py/qt/qt_03/

1. designer.exe 路径

D:\Program Files\Python310\Lib\site-packages\PySide2\designer.exe

2. 动态加载UI文件

Python程序加载UI文件,动态创建相应窗口对象

 从 UI 定义中动态 创建一个相应的窗口对象,里面的控件对象也成为窗口对象的属性了
 self.ui = QUiLoader().load('main.ui')    加载名为main.ui的UI界面

  其中main.ui为用 designer.exe 创建的UI界面

  self.ui.button.clicked.connect(self.handleCalc)

UI中的button按钮 连接到 handleCalc ,即使用 handleCalc 处理

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()

        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 + '\n'
            else:
                salary_below_20k += name + '\n'

        QMessageBox.about(self.ui,
                    '统计结果',
                    f'''薪资20000 以上的有:\n{salary_above_20k}
                    \n薪资20000 以下的有:\n{salary_below_20k}'''
                    )

app = QApplication([])
stats = Stats()
stats.ui.show()
app.exec_()

3. 转化UI文件为Python代码

pyside2-uic main.ui > ui_main.py
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值