当前位置: 首页 > news >正文

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_())  # 进入事件循环,并确保在退出时清理

运行结果:
在这里插入图片描述
在这里插入图片描述

相关文章:

  • 零成本短视频爆款制造手册
  • Python正则表达式完全指南:从入门到精通
  • 使用AI一步一步实现若依前端(5)
  • Catia 转 StL:打通数字化设计与制造的关键纽带
  • TCP并发服务器
  • Vue 实现智能检测文字是否溢出,溢出显示省略号,鼠标悬浮显示全部【附封装组件完整代码+详细注释+粘贴即食】
  • Vue前端开发-Coupon组件
  • javaweb自用笔记:请求参数、响应、分层解耦、
  • 一二三应用开发平台——能力扩展:多数据源支持
  • 模板方法模式的C++实现示例
  • React基础之项目实战
  • 贵工程寝室报修系统的设计与实现
  • JavaScript 变量与常量全面解析
  • 在线程间共享数据_第三章_《C++并发编程》笔记
  • 什么是Flask
  • spring6概述
  • HTML 基础
  • el-pagination的使用说明
  • STM32---FreeRTOS消息队列
  • HarmonyOS学习第18天:多媒体功能全解析
  • 保利、北京建工联合体45.45亿元竞得北京海淀区宅地,溢价率11.95%
  • 中纪报:强化监督推动过紧日子要求落到实处
  • 江苏省人民检察院副检察长丁海涛调任省委政法委副书记
  • 证监会披露两起操纵市场处罚结果,今年来涉操纵股票罚没金额超7.5亿元
  • 复旦一校友捐赠1亿元,却不留名
  • 光速晋级!2025年多哈世乒赛孙颖莎4比0战胜对手