Python, PySide2图形界面编程-入门小程序,输入薪资表并分类显示

PySide2是一个非常简单易用,功能强大的python界面设计包。这个包对Python解释器的版本有要求,经测试在Python3.8.1下可以正常运行。

安装 方法和其它包一样:pip install pyside2

下面的一个小程序,只用20多行代码就实现了一个最简单的应用,非常适合初学者测试和体验PySide2的强大。

from PySide2.QtWidgets import QApplication, QMainWindow, QPushButton, QPlainTextEdit, QMessageBox


# 定义一个类将界面窗口设计代码进行封装
class firstWindow():
    def __init__(self):
        self.window = QMainWindow() # 定义窗口对象
        self.window.resize(500, 400) # 窗口尺寸
        self.window.move(300, 310) # 窗口位置
        self.window.setWindowTitle('薪资统计') # 窗口标题
        self.textEdit = QPlainTextEdit(self.window) # 定义文本输入平面对象
        self.textEdit.setPlaceholderText('请输入薪资') # 文本输入对象提示信息
        self.textEdit.move(10, 25) # 位置
        self.textEdit.resize(300, 350) # 尺寸
        self.button = QPushButton('统计', self.window) # 定义按钮对象
        self.button.move(350, 100) # 位置
        self.button.clicked.connect(self.handleCal) # 按钮对象被 点击时的回调函数
        self.button.show() # 显示 按钮


    def handleCal(self):
        info = self.textEdit.toPlainText() # 获取文本输入对象中的文字内容
        high = '' # 定义高薪资字符串内容变量
        low = ''  # 定义低薪资字符串内容变量
        for line in info.splitlines(): # 将获取的字符串按行拆分
            name, salary, age = line.split(' ') # 将每行输入内容以空格为分隔符拆分
            if float(salary) >= 5000: # 薪资大于5000的输入行存到高薪资变量
                high += line
                high += '\n'
            else:
                low += line
                low += '\n'
        QMessageBox.about(self.window, # 用弹出窗口显示统计结果
                          '统计结果',
                          f'''高薪人员如下:\n{high}\n低薪人员如下:\n{low}'''
                          )





app = QApplication([]) # 底层管理窗口类实例化
first = firstWindow() # 定义窗口实例
first.window.show() # 显示窗口
app.exec_() # 持续 显示 窗口
输入内容后的运行界面如下:

 

 点击“统计”后的弹出窗口如下:

 

 


  

posted @ 2020-11-14 18:47  Iceberg_710815  阅读(1047)  评论(0编辑  收藏  举报