首先先上结果图:
步骤一、安装Pyqt5
一行命令即可解决
pip install Pyqt5
步骤二、打开Pyqt5,设置相应界面
同样一行命令即可解决,在你安装Pyqt5环境下,直接输入
Pyqt5
举个例子
我这边是先打开prompot
先检查一个是否安装成功了pyqt5
然后就输入PyQt5就会自动打开PyQt5了
最后记得点击保存,命名为yourname.ui文件
步骤三、将ui文件转换成python文件
# 命令行输入这句代码
pyuic5 -o testUi.py yourname.ui
然后就会得到一个
testUi.py文件
步骤四、实例化类
新建一个python 文件
我这里新建一个first_demo.py文件,你取别的名字也行,将刚刚得到的test.ui文件和你新建的文件放在一个文件夹目录下,要不然导入会出现错误。
步骤五、输入代码、运行
在你新建的文件下,输入以下代码
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QMainWindow
from testUi import Ui_Form
class MyWindow(QWidget, Ui_Form):
def __init__(self):
super(MyWindow, self).__init__()
self.setupUi(self)
def btnClear_clicked(self):
self.textEdit.clear()
def btn1_clicked(self):
self.textEdit.insertPlainText("1")
def btn2_clicked(self):
self.textEdit.insertPlainText("2")
def btn3_clicked(self):
self.textEdit.insertPlainText("3")
def btn4_clicked(self):
self.textEdit.insertPlainText("4")
def btn5_clicked(self):
self.textEdit.insertPlainText("5")
def btn6_clicked(self):
self.textEdit.insertPlainText("6")
def btn7_clicked(self):
self.textEdit.insertPlainText("7")
def btn8_clicked(self):
self.textEdit.insertPlainText("8")
def btn9_clicked(self):
self.textEdit.insertPlainText("9")
def btn0_clicked(self):
self.textEdit.insertPlainText("0")
def btnPlus_clicked(self):
self.textEdit.insertPlainText(" + ")
def btnSub_clicked(self):
self.textEdit.insertPlainText(" - ")
def btnMul_clicked(self):
self.textEdit.insertPlainText(" * ")
def btnDiv_clicked(self):
self.textEdit.insertPlainText(" / ")
def btn_left_bracket_clicked(self):
self.textEdit.insertPlainText(" ( ")
def btn_right_bracket_clicked(self):
self.textEdit.insertPlainText(" ) ")
def btn_point_clicked(self):
self.textEdit.insertPlainText(".")
# 回车删除
def Backspace_clicked(self):
text = self.textEdit.toPlainText()
length = len(text)
text = text[0:length - 1]
self.textEdit.setText(text)
def end_oflined(self):
self.textEdit.append("")
def btnEqual_clicked(self):
text = self.textEdit.toPlainText()
lines = text.split("\n") # 读取所有行
first_line = lines[0] # 取第一行
last_line = lines[-1] # 取最后一行
if not last_line :
pass
else:
self.textEdit.insertPlainText(' = %.3f' % (eval(last_line)))
if __name__ == '__main__':
app = QApplication(sys.argv)
win = MyWindow()
win.pushButton_10.clicked.connect(win.btnClear_clicked)
win.pushButton_7.clicked.connect(win.btn1_clicked)
win.pushButton_8.clicked.connect(win.btn2_clicked)
win.pushButton_9.clicked.connect(win.btn3_clicked)
win.pushButton_4.clicked.connect(win.btn4_clicked)
win.pushButton_5.clicked.connect(win.btn5_clicked)
win.pushButton_6.clicked.connect(win.btn6_clicked)
win.pushButton.clicked.connect(win.btn7_clicked)
win.pushButton_2.clicked.connect(win.btn8_clicked)
win.pushButton_3.clicked.connect(win.btn9_clicked)
win.pushButton_11.clicked.connect(win.btn0_clicked)
win.pushButton_13.clicked.connect(win.btnPlus_clicked)
win.pushButton_14.clicked.connect(win.btnSub_clicked)
win.pushButton_15.clicked.connect(win.btnMul_clicked)
win.pushButton_16.clicked.connect(win.btnDiv_clicked)
win.pushButton_12.clicked.connect(win.btnEqual_clicked)
win.pushButton_17.clicked.connect(win.btn_left_bracket_clicked)
win.pushButton_18.clicked.connect(win.btn_right_bracket_clicked)
win.pushButton_19.clicked.connect(win.Backspace_clicked)
win.pushButton_20.clicked.connect(win.btn_point_clicked)
win.pushButton_21.clicked.connect(win.end_oflined)
win.show()
sys.exit(app.exec_())
最后点击运行即可
步骤六、项目打包
采用pyinstaller
pyinstaller -F -w 主函数名.py