基于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_() # 很重要,死循环
相关推荐
蔗理苦21 分钟前
2025-04-03 Latex学习1——本地配置Latex + VScode环境
ide·vscode·学习·latex
水w24 分钟前
【Android Studio】解决报错问题Algorithm HmacPBESHA256 not available
android·开发语言·android studio
冷琅辞1 小时前
Elixir语言的云计算
开发语言·后端·golang
极限实验室1 小时前
如何使用 Nginx 代理 Easysearch 服务
数据库·nginx
whn19771 小时前
selectdb修改表副本
数据库
Mryan20052 小时前
解决GraalVM Native Maven Plugin错误:JAVA_HOME未指向GraalVM Distribution
java·开发语言·spring boot·maven
Naomi5212 小时前
自定义汇编语言(Custom Assembly Language) 和 Unix & Git
服务器·开发语言·git·unix
烂蜻蜓2 小时前
C 语言命令行参数:让程序交互更灵活
c语言·开发语言·交互
TDengine (老段)2 小时前
TDengine 中的视图
数据库·物联网·oracle·时序数据库·tdengine·iotdb
zm-v-159304339862 小时前
解锁 DeepSeek 与 Matlab:攻克科研难题的技术利刃
开发语言·matlab·信息可视化