Python之pyqt5生成计算机前端页面并运行
pyqt5生成计算机前端页面并运行
目录
- pyqt5生成计算机前端页面并运行
- 前端设计
- 输入和文本显示
- 布局
- 功能函数
- 整体布局展示
- 运行代码展示
前端设计
输入和文本显示
文本显示选择lineEdit部件,单行输入。
输入文本设置,为pushBottom,命名为数字1、2、3、4、5、6、7、8、9、0,以及+、-、*、/,以及=,点击除了=的按钮文本框会显示相应输出,点击=时会输出计算结果,最后是清除键,点击清除lineEdit的文本,也是pushBottom。
布局
第一行为文本输入及输出,剩下为pushBottom,可以使用栅格布局,可以自动调节布局
功能函数
- 一键清除:clear键实现,使用自带的函数
- 点击输入lineEdit文本:数字1、2、3、4、5、6、7、8、9、0,以及+、-、*、/
点击输入文本代码,更改str(1)为对应按键文本
def line_str1(self):
try:
a = self.lineEdit.text()
b =a + str(1)
self.lineEdit.setText(b)
except ValueError:
QMessageBox.warning(self,'错误','请输入有效信息')
- 输出lineEdit计算:=键 实现
使用eval()进行文本字符串的计算。
def line_str15(self):
try:
a = self.lineEdit.text()
b = round(eval(a),8)
self.lineEdit.setText(b)
except ValueError:
QMessageBox.warning(self,'错误','请输入有效信息')
整体布局展示
布局如下
布局函数如下:
运行代码展示
代码展示:
from PyQt5 import QtCore, QtGui, QtWidgets # 导入PyQt5的主要模块
from PyQt5.QtCore import * # 导入QtCore模块的所有内容,用于核心功能
from PyQt5.QtGui import * # 导入QtGui模块的所有内容,用于图形功能
from PyQt5.QtWidgets import QFileDialog, QMainWindow, QMessageBox # 导入QtWidgets模块中的一些特定类
'''QFileDialog可以帮助用户选择文件路径
QMainWindow则是创建具有菜单、工具栏和状态栏的主窗口的起点。
QMessageBox可以用于向用户显示提示或警告信息'''
from jsq import Ui_MainWindow # 导入UI类,这个类包含了你的主窗口设计
import sys # 导入系统模块,用于访问命令行参数和系统相关功能
class PyQtMainEntry(QMainWindow, Ui_MainWindow): # 定义一个继承自QMainWindow和Ui_MainWindow的类
def __init__(self): # 构造函数
super().__init__() # 调用基类的构造函数进行初始化
self.setupUi(self) # 调用setupUi方法,根据Ui_MainWindow设计设置界
# self.model = joblib.load('tree_model.pkl')
'''定义要触发的函数'''
### 全字符拼接1,2,3,5,6,7,9,10,11,13
def line_str1(self):
try:
a = self.lineEdit.text()
b =a + str(1)
self.lineEdit.setText(b)
except ValueError:
QMessageBox.warning(self,'错误','请输入有效信息')
def line_str2(self):
try:
a = self.lineEdit.text()
b = a + str(2)
self.lineEdit.setText(b)
except ValueError:
QMessageBox.warning(self,'错误','请输入有效信息')
def line_str3(self):
try:
a = self.lineEdit.text()
b = a + str(3)
self.lineEdit.setText(b)
except ValueError:
QMessageBox.warning(self,'错误','请输入有效信息')
def line_str4(self):
try:
a = self.lineEdit.text()
b = a + '+'
self.lineEdit.setText(b)
except ValueError:
QMessageBox.warning(self,'错误','请输入有效信息')
def line_str5(self):
try:
a = self.lineEdit.text()
b = a + str(4)
self.lineEdit.setText(b)
except ValueError:
QMessageBox.warning(self, '错误', '请输入有效信息')
def line_str6(self):
try:
a = self.lineEdit.text()
b = a + str(5)
self.lineEdit.setText(b)
except ValueError:
QMessageBox.warning(self, '错误', '请输入有效信息')
def line_str7(self):
try:
a = self.lineEdit.text()
b = a + str(6)
self.lineEdit.setText(b)
except ValueError:
QMessageBox.warning(self, '错误', '请输入有效信息')
def line_str8(self):
try:
a = self.lineEdit.text()
b = a + '-'
self.lineEdit.setText(b)
except ValueError:
QMessageBox.warning(self,'错误','请输入有效信息')
def line_str9(self):
try:
a = self.lineEdit.text()
b = a + str(7)
self.lineEdit.setText(b)
except ValueError:
QMessageBox.warning(self,'错误','请输入有效信息')
def line_str10(self):
try:
a = self.lineEdit.text()
b = a + str(8)
self.lineEdit.setText(b)
except ValueError:
QMessageBox.warning(self, '错误', '请输入有效信息')
def line_str11(self):
try:
a = self.lineEdit.text()
b = a + str(9)
self.lineEdit.setText(b)
except ValueError:
QMessageBox.warning(self, '错误', '请输入有效信息')
def line_str12(self):
try:
a = self.lineEdit.text()
b = a + '*'
self.lineEdit.setText(b)
except ValueError:
QMessageBox.warning(self,'错误','请输入有效信息')
def line_str13(self):
try:
a = self.lineEdit.text()
b = a + str(0)
self.lineEdit.setText(b)
except ValueError:
QMessageBox.warning(self, '错误', '请输入有效信息')
def line_str16(self):
try:
a = self.lineEdit.text()
b = a + '/'
self.lineEdit.setText(b)
except ValueError:
QMessageBox.warning(self,'错误','请输入有效信息')
def line_str15(self):
try:
a = self.lineEdit.text()
b = round(eval(a),8)
self.lineEdit.setText(str(b))
except ValueError:
QMessageBox.warning(self,'错误','请输入有效信息')
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv) # 创建应用程序实例
window = PyQtMainEntry() # 创建主窗口实例
window.show() # 显示主窗口
sys.exit(app.exec_()) # 进入事件循环,并确保在退出时清理
运行结果: