栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python QT学习——Qt Designer(二)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python QT学习——Qt Designer(二)

QT学习

文章目录

QT学习一、Qt Designer 简介二、使用方法三、动态加载UI文件

一、Qt Designer 简介

QT程序界面的 一个个窗口、控件,就是像上面那样用相应的代码创建出来的。但是,把你的脑海里的界面,用代码直接写出来,是有些困难的。很多时候,运行时呈现的样子,不是我们要的。我们经常还要修改代码调整界面上控件的位置,再运行预览。反复多次这样操作。可是这样,真的…太麻烦了。
其实,我们可以用QT界面生成器 Qt Designer ,拖拖拽拽就可以直观的创建出程序大体的界面。

二、使用方法


找到这个东西,打开

可以看到选择很多类型


这个就是设置界面的区域
左边有相关的工具

生成想要的界面

下面进行相应的修改

他的名字很重要,你要控制哪一个,就是通过他的名字

可以预览查看

然后保存

打开这个ui文件看看,就是一个XML格式的界面定义。

三、动态加载UI文件

有了界面定义文件,我们的Python程序就可以从文件中加载UI定义,并且动态 创建一个相应的窗口对象。

特别注意这个地方,一定要和你创建时候的名字相对应,不然就会报错,我创建的时候用的是Button,我输入button时就给我报错了

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("ui/薪资统计.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 + '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_()


就是我们刚刚创建的页面,以后使用的时候直接复制过来就可以了,把对应的功能按键加上就行了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/739791.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号