qt学习第三天,qt设计师的第一个简单案例

3月25,应用qt设计师,手动设计界面形状

​ 如何启动qt设计师,找到对应的安装地点,对应你自己安装的pyside6或其他qt的安装路径来找




​ 应用qt设计师的优点是不用敲代码然后慢慢调节框框大小,位置等、可以直接修改ui文件后点击保存,代码运行后就会有对应的效果。

​ 注意:在设置好窗口ui文件后要,把ui文件放在项目文件里,最好再创建一个文件夹,与py文件并列。

小案例

效果如下:

代码展示:注意你的qt版本,对应修改,参考一下

python 复制代码
from PySide6.QtWidgets import QApplication, QMessageBox
from PySide6.QtUiTools import QUiLoader
from PySide6.QtCore import QFile
# 以上为导入Pyside6相关的库

class Stats:

    def __init__(self):
        # 从文件中加载UI定义
        qfile_stats = QFile("ui1/stats.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 相当于调用函数的开关,后面的代码不要写错了

        self.ui.Button.clicked.connect(self.handleCalc)   # 这里的Button要和qt设置命名的属性名一致

    def handleCalc(self):
            info = self.ui.textEdit.toPlainText()
            fen_above_80f = ''
            fen_below_80f = ''
            for line in info.splitlines():
                if not line.strip():
                    continue
                parts = line.split(' ')
                # 去掉列表中的空字符串内容
                parts = [p for p in parts if p]
                name, salary = parts
                if int(salary) >= 80:
                    fen_above_80f += name + '\n'
                else:
                    fen_below_80f += name + '\n'

            QMessageBox.about(self.ui,
                              '统计结果',
                              f"在80分 以上的有:\n{fen_above_80f}\n在80分以下的有:\n{fen_below_80f}"
                              )

app = QApplication([])
stats = Stats()
stats.ui.show()
app.exec_()
相关推荐
程序员老陆几秒前
深入理解 C++ thread_local:线程私有存储的正确打开方式
开发语言·c++·程序设计
沐晓时光7 分钟前
C语言入门,深入理解指针(3)
c语言·开发语言
码云数智-园园32 分钟前
unique_ptr 还是 shared_ptr?C++ 智能指针选型与内存泄漏实战分析
java·开发语言
qq_284274051 小时前
机械原理笔记:平面机构自由度计算(复合铰链、局部自由度、虚约束)与四杆机构入门(含考点)
笔记·学习·平面·自动化·制造
禾小西1 小时前
07丨Redis 哨兵机制:主库故障后,如何恢复服务?
java·开发语言·redis
我不是阵雨1 小时前
JDK 21虚拟线程Pinning陷阱:一文拔钉解困
java·开发语言
徐小黑ACG2 小时前
Golang 基础05 结构体struct
开发语言·算法·golang
优橙教育2 小时前
零基础学AI应用开发要多久?3个月能到什么水平
服务器·开发语言·网络·php
qq_284274052 小时前
数控铣床与加工中心笔记:铣刀与刀柄系统、G54试切对刀、镜像加工指令、孔加工工艺(钻扩铰镗)与固定循环G73/G83/G81/G76/G87/G84
笔记·学习·自动化·制造
半杯咖啡半行码3 小时前
Qt开发实战:数据库、MV 模式、QProcess与串口通信全攻略
数据库·qt