欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

PythonQT学习——QtDesigner(二)

时间:2023-05-25
QT学习 文章目录

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

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

二、使用方法


找到这个东西,打开

可以看到选择很多类型


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

生成想要的界面

下面进行相应的修改

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

可以预览查看

然后保存

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

三、动态加载UI文件

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

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

from PySide2.QtWidgets import QApplication, QMessageBoxfrom PySide2.QtUiTools import QUiLoader #导入相关的类from PySide2.QtCore import QFileclass 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_()


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

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。