1. 程式人生 > >【python】記自己第一個指令碼計算器的誕生

【python】記自己第一個指令碼計算器的誕生

首次使用python2.7/2.6 需要配置系統變數PATH 詳見【python】win10系統下配置python系統變數
第一步:
使用Qt(designer) 進行圖形介面的搭建,用法類似C#窗體,用下就知道了,工具欄拖拽,so easy

下圖是使用的控制元件以及類名。用到的控制元件有label (標籤 ; LineEdit,單行輸入,類似input ; combox,雙擊控制元件新增下拉列表內容

pushButton,按鈕。

第二步:使用python模組中的pyu功能,進行指令碼的轉化

pyu功能模組安裝包連結:https://pan.baidu.com/s/16TB7GK6wdNMSxgvQOpEYfA

建議安裝 32 位比較穩定

生成的new.py為新生成的指令碼檔案,也是我們計算器的重要檔案。

這裡說下指令碼沒有正常生成會有這種情況,就是控制元件內的字型不要設定成楷體啊,宋體什麼的,應為機器不識別。確實很尷尬,之前在網站部署裡遇到過,這次還是類似的問題。

最後貼上原始碼檔案,互相學習交流。

import sys
from PyQt4 import QtCore, QtGui, uic
import new
class MyApp(QtGui.QMainWindow, new.Ui_MainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        new.Ui_MainWindow.__init__(self)
        self.setupUi(self)
        self.pushButton.clicked.connect(self.ButtonFunction)
    def ButtonFunction(self):
        shu1=float(self.lineEdit.text())
        shu2=float(self.lineEdit_2.text())
        zifu=self.comboBox.currentText()
        if zifu == '+':
            self.lineEdit_3.setText(str(shu1+shu2))
        elif zifu == '-':
            self.lineEdit_3.setText(str(shu1 - shu2))
        elif zifu == '*':
            self.lineEdit_3.setText(str(shu1 * shu2))
        elif zifu == '/':
            self.lineEdit_3.setText(str(shu1 / shu2))

if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    window = MyApp()
    window.show()
    sys.exit(app.exec_())