当前位置: 首页 > news >正文

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

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

​ 如何启动qt设计师,找到对应的安装地点,对应你自己安装的pyside6或其他qt的安装路径来找
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

小案例

效果如下:
在这里插入图片描述

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

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.textEditself.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():continueparts = line.split(' ')# 去掉列表中的空字符串内容parts = [p for p in parts if p]name, salary = partsif 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_()

相关文章:

  • JVM(一)——内存结构
  • 实验十 枚举问题(过程模拟)
  • 正则表达式 vs. 字符串处理:解析优势与劣势
  • [linux][调度] 内核抢占入门 —— 高优先级线程被唤醒时会立即抢占当前线程吗 ?
  • PCM /G711音频播放器 :Audacity
  • js 分割号查找内容
  • Unity 镜头动画
  • Rust 实战练习 - 8. 内存,ASM,外挂 【重磅】
  • HJ73 计算日期到天数转换
  • 为什么要使用注意力机制?
  • ip 协议
  • gateway 分发时若两个服务的路由地址一样,怎么指定访问想要的服务下的地址
  • Mysql-实战数据备份与恢复
  • 何时需要指定泛型:Scala编程指南
  • 如何使用python链表
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • 〔开发系列〕一次关于小程序开发的深度总结
  • CentOS7简单部署NFS
  • Debian下无root权限使用Python访问Oracle
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • Spark学习笔记之相关记录
  • 程序员该如何有效的找工作?
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 突破自己的技术思维
  • 微信小程序:实现悬浮返回和分享按钮
  • 一天一个设计模式之JS实现——适配器模式
  • 关于Android全面屏虚拟导航栏的适配总结
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • $NOIp2018$劝退记
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (C语言)球球大作战
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (pojstep1.1.2)2654(直叙式模拟)
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (算法)Game
  • (一)appium-desktop定位元素原理
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • (转)Oracle 9i 数据库设计指引全集(1)
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • .NET BackgroundWorker
  • .net core 控制台应用程序读取配置文件app.config
  • .Net FrameWork总结
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .Net MVC4 上传大文件,并保存表单
  • .net 托管代码与非托管代码
  • .NET/C# 使用 ConditionalWeakTable 附加字段(CLR 版本的附加属性,也可用用来当作弱引用字典 WeakDictionary)
  • @test注解_Spring 自定义注解你了解过吗?
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(白虎组)
  • []T 还是 []*T, 这是一个问题
  • [1204 寻找子串位置] 解题报告
  • [20190401]关于semtimedop函数调用.txt
  • [Android] Upload package to device fails #2720