基于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_() # 很重要,死循环
相关推荐
上去我就QWER18 小时前
Qt中的QShortcut:高效键盘快捷方式开发指南
开发语言·c++·qt
pipip.18 小时前
Redis vs MongoDB:内存字典与文档库对决
数据库·redis·缓存
QT 小鲜肉19 小时前
【C++基础与提高】第二章:C++数据类型系统——构建程序的基础砖石
开发语言·c++·笔记
小白银子19 小时前
零基础从头教学Linux(Day 62)
数据库·mysql·oracle
lsx20240620 小时前
HTML5 新元素
开发语言
拾心2121 小时前
【云运维】Python基础(二)
python
先知后行。1 天前
C/C++八股文
java·开发语言
Boilermaker19921 天前
【MySQL 进阶】高性能优化
数据库·sql·mysql
songyuc1 天前
【S2ANet】Align Deep Features for Oriented Object Detection 译读笔记
人工智能·笔记·目标检测
CoderOnly1 天前
SQL,CROSS JOIN速度优化
数据库·sql·mysql