python 初入PyQt5-统计薪资程序

写一个统计薪资的界面程序

样本

薛蟠     4560 25
薛蝌     4460 25
薛宝钗   35776 23
薛宝琴   14346 18
王夫人   43360 45
王熙凤   24460 25
王子腾   55660 45
王仁     15034 65
尤二姐   5324 24
贾芹     5663 25
贾兰     13443 35
贾芸     4522 25
尤三姐   5905 22
贾珍     54603 35

把薪资在 2万 以上、以下的人员名单分别打印出来。

因为咱们仅用的基本控件
使用QT designer 设计界面,然后用pyqt5动态加载UI,实现界面和逻辑相分离

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

# -*- coding: utf-8 -*-#
#-------------------------------------------------------------------------------
# Name:      统计薪资
# Date:      2020/3/26
__Author__ = 'Negoo_wen'
#-------------------------------------------------------------------------------

from PyQt5 import uic
from PyQt5.QtWidgets import QApplication, QMessageBox

class Stats:
    def __init__(self):
        # 从文件中加载UI定义
        self.ui = uic.loadUi("status.ui")
        self.ui.Button.clicked.connect(self.handleCalc)

    def handleCalc(self):
        info = self.ui.TextEdit.toPlainText()

        salary_above_20k = ''
        salary_below_20k = ''
        for line in info.splitlines():
            if not line.strip():
                continue
            parts = line.split(' ')

            parts = [p for p in parts if p]
            name, salary, age = parts
            if int(salary) >= 20000:
                salary_above_20k += name + '\n'
            else:
                salary_below_20k += name + '\n'

        QMessageBox.about(self.ui,
                          '统计结果',
                          f'''薪资20000 以上的有:\n{salary_above_20k}
                       \n薪资20000 以下的有:\n{salary_below_20k}'''
                          )

if __name__ == '__main__':
    app = QApplication([])
    stats = Stats()
    stats.ui.show()
    app.exec_()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章