寫一個統計薪資的界面程序
樣本
薛蟠 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_()