1. 程式人生 > 實用技巧 >Python, PySide2圖形介面程式設計-入門小程式,輸入薪資表並分類顯示

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_() # 持續 顯示 視窗
輸入內容後的執行介面如下:

點選“統計”後的彈出視窗如下: