基于Python架构下的qt可视化用户互动界面

3月24日,由C++架构下的qt转战Python架构下的PySide6

今天做的是一个统计班级量化的基础,因为刚学qt的第一天,所以先是学会了简单的统计整理80分以上,或80分以下的同学,先录入数据:

然后点击统计整理按钮!效果如下:

​ 是不是非常有趣呢!接下来是代码,PySide6是我的版本,记得在运行前修改成自己的版本哦

python 复制代码
from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QPlainTextEdit,QMessageBox
# 以上是调用pyside6相关的库,来实现相关效果

def handleCalc():
    info = testEdit.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(window,
                      '统计结果',
                 f"在80分 以上的有:\n{fen_above_80f}\n在80分以下的有:\n{fen_below_80f}"
                              )
# 实例化对象([])
app =QApplication([])    # 提供了整个图形界面的底层管理功能,比如:初始化、程序入口参数的处理,
                         # 用户事件(对界面的点击、输入、拖拽)分发给各个对应的控件

window = QMainWindow()      # 创建一个主窗口界面
window.resize(500, 500)     # resize决定窗口的大小
window.move(300, 310)       # 控制窗口出现在你显示器的位置
window.setWindowTitle('量化统计')  # 设置窗口的标题栏

testEdit = QPlainTextEdit(window)
testEdit.setPlaceholderText('请输入量化记录') # 文本框内的提示文本
testEdit.move(10, 25)  # 相对于父窗口的位置
testEdit.resize(300, 350) # 决定窗口的大小

button = QPushButton('统计整理', window)
button.move(380, 80)
button.clicked.connect(handleCalc) # button发出了信号,传给handleCalc

window.show() # 展现窗口

app.exec_() # 很重要,死循环
相关推荐
高级程序源6 小时前
django校园寻物通失物招领平台32261-计算机课程设计、毕业设计
vue.js·python·mysql·小程序·django·flask·课程设计
WeiXin_DZbishe6 小时前
基于springboot宠物领养系统-计算机毕设 附源码【课程设计】94217
vue.js·spring boot·python·django·php·课程设计
KIDULT°7 小时前
MySQL系列 (1):数据库原理
运维·数据库·mysql·云计算
kimnoic7 小时前
Python数据库学习心得:SQLite、MySQL、PostgreSQL优缺点
开发语言·python
我不是程序员三三7 小时前
透明加密软件偶发解密异常排错实录:文件时能打开时乱码
数据库·域智盾
snhna7 小时前
向量数据库深度实战:从 HNSW 到 pgvector、Milvus 选型与 RAG 落地
数据库·人工智能·python·postgresql·milvus
天行健,君子而铎7 小时前
数据分类分级的范式转换:从规则匹配到场景化高准确率一键部署
网络·数据库·安全
别动我齐刘海8 小时前
C++ 工程化学习
java·linux·前端·c++·学习·机器学习·机器人
牛战士coding8 小时前
MySQL 读写分离完整链路:主从复制、多数据源与 @DS 路由
数据库·mysql
必须得开心呀8 小时前
python编写带界面的软件,需要安装哪些插件
开发语言·python