Python Qt 图形界面编程 - 实战示例一

Pyqt实战(示例一)

课程链接:

【Python Qt 图形界面编程 - PySide2 PyQt5 PyQt PySide-哔哩哔哩】https://www.bilibili.com/video/BV1cJ411R7bP/?spm_id_from=333.999.0.0&vd_source=7ffa93d4a1d9a8c2d27187407eca5c89

代码及听课理解注释

from PySide2.QtWidgets import QApplication, QMainWindow, QPushButton,  QPlainTextEdit,QMessageBox
# QtWidgets是pyqt中控制控件功能的包
# 导入的类QApplication(应用程序), QMainWindow(主窗口), QPushButton(按钮),  QPlainTextEdit(编辑框)

class Stats():   # 将函数封装在类中,方便调用,打包
    def __init__(self):  # 函数的第一个参数,就必须是实例对象本身,并且建议,约定俗成,把其名字写为self
        self.window = QMainWindow()  # 类内创建QMainWindow类的对象
        self.window.resize(500, 400)   # 规定主窗口大小
        self.window.move(700, 280)  # 规定主窗口出现在显示器屏幕的位置
        self.window.setWindowTitle('薪资统计')  # 主窗口的名字

        self.textEdit = QPlainTextEdit(self.window)   # 创建编辑文本的对象,其父窗口为类内对象self.window
        self.textEdit.setPlaceholderText("请输入薪资表")  # 编辑文本的提示内容
        self.textEdit.move(20, 25)  # 相对于父窗口window的位置,QPlainTextEdit(window)
        self.textEdit.resize(300, 350)  # 指定编辑文本框的大小

        self.button = QPushButton('统计', self.window)  # 按钮的名字和父窗口
        self.button.move(380, 80)  # 按钮的位置

        self.button.clicked.connect(self.handleCalc)  # 翻译一下:当button被点击了之后,就连接到handleCalc函数中(运行handleCale)

    # 定义一个函数,当统计按钮被点击时触发
    def handleCalc(self):
        info = self.textEdit.toPlainText()  # 获取编辑框中的文本

        # 薪资20000 以上 和 以下 的人员名单
        salary_above_20k = ''
        salary_below_20k = ''
        for line in info.splitlines():  # 遍历文本的每一行
            # a = line.strip()
            # print(a)
            if not line.strip():  # 如果是一行就继续
                continue
            parts = line.split(' ')  # 通过空格将字符串拆分
            # 去掉列表中的空字符串内容
            parts = [p for p in parts if p]  # 定义一个p,如果p不是空格,就在parts的列表中
            name,salary,age = parts
            if int(salary) >= 20000:
                salary_above_20k += name + '\n'  # 薪资高于2万的将名字放入salary_above_20k中
            else:
                salary_below_20k += name + '\n'  # 薪资低于2万的将名字放入salary_below_20k中

        QMessageBox.about(self.window,  # 将输出结果显示在弹出的对话框中
                    '统计结果',
                    f'''薪资20000 以上的有:\n{salary_above_20k}
                    \n薪资20000 以下的有:\n{salary_below_20k}'''
                    )

app = QApplication([]) # 创建一个QApplication的实例化对象,提供了整个图形界面的底层管理功能
# QApplication要做如此重要的初始化操作,所以,我们必须在任何界面控件对象创建前,先创建它。

stats = Stats()  # 以stats对象调用 Stats 类
stats.window.show()  # 将窗口展示出来
app.exec_()  # 进行程序的循环,如果不是人为点击关闭,就可以一直进行,如果没有这一句话,程序就会闪退

运行结果

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值