基于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_() # 很重要,死循环
相关推荐
顾林海13 分钟前
Agent入门阶段-编程基础-Python:流程控制
python·agent·ai编程
LaiYoung_19 分钟前
🎁 送你一套超好用超实用的 FE AI-Coding Skills
前端·人工智能·开源
呱呱复呱呱3 小时前
Django CBV 源码解读:一个请求是怎么找到你的 get() 方法的
python·django
Nturmoils4 小时前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库
洛阳泰山4 小时前
从 0 到 1.6K Star:一个 Java 开源项目的增长复盘
人工智能·后端·开源
曲幽8 小时前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
渣波8 小时前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端
荣码8 小时前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
修己xj10 小时前
Go Nav:一个简洁高效的个人/团队导航站
开源
兵慌码乱17 小时前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理