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

基础控件的信号:

按键:

class MyWindow(QWidget): def __init__(self): super().__init__() btn = QPushButton('按钮名称', self) btn.clicked.connect(self.btn_click) # 按键点击时触发事件 def btn_click(self): print('按钮被点击了')

btn.clicked.connect() # 变量名称.信号名称.connect(对应的事件函数)

输入框:

获得输入的内容

account = self.lineEdit.text()

变量名 = self.对应输入框的objectName.text()

对应输入框的objectName可以在Qt Designer中找到

应用小项目:简易计算器

首先在Qt Designer绘制一个简易的计算器页面,保存ui文件

转化为py文件,静态导入,多继承打开

赋予按键数值和符号

def com(self): self.pushButton_0.clicked.connect(lambda : self.add('0')) self.pushButton_1.clicked.connect(lambda : self.add('1')) self.pushButton_2.clicked.connect(lambda : self.add('2')) self.pushButton_3.clicked.connect(lambda : self.add('3')) self.pushButton_4.clicked.connect(lambda : self.add('4')) self.pushButton_5.clicked.connect(lambda : self.add('5')) self.pushButton_6.clicked.connect(lambda : self.add('6')) self.pushButton_7.clicked.connect(lambda : self.add('7')) self.pushButton_8.clicked.connect(lambda : self.add('8')) self.pushButton_9.clicked.connect(lambda : self.add('9')) self.pushButton_jia.clicked.connect(lambda : self.add('+')) self.pushButton_jian.clicked.connect(lambda : self.add('-')) self.pushButton_cheng.clicked.connect(lambda : self.add('*')) self.pushButton_chu.clicked.connect(lambda : self.add('/')) self.pushButton_dian.clicked.connect(lambda : self.add('.')) self.pushButton_C.clicked.connect(lambda : self.clear()) self.pushButton_CE.clicked.connect(lambda : self.clearall()) self.pushButton_ent.clicked.connect(lambda : self.jisuan())

添加 add函数

定义一个add函数,将参数num转换为字符串后拼接到self.result后面,更新在输出框内的显示

def add(self, num): self.result += str(num) self.lineEdit.setText(self.result)

清除 clear函数

删除self.result最后一个字符,实现回退功能,记得更新显示

def clear(self): self.result = self.result[:-1] self.lineEdit.setText(self.result)

全部删除 clearall函数

直接将self.result置为空,记得更新显示

def clearall(self): self.result = '' self.lineEdit.setText(self.result)

计算 jisuan函数

使用eval函数计算表达式结果,由于存在回退功能,所以计算时不能更新self.result内容,所以直接更新显示就可以,添加error防止出现错误,提高鲁棒性

def jisuan(self): try: self.lineEdit.setText(str(eval(self.result))) except: self.lineEdit.setText('error')
http://www.gsyq.cn/news/1612531.html

相关文章:

  • 哑光亮调lr预设|高级哑光柔焦人像写真Lightroom下载lr调色风格
  • 靠谱的装修公司哪家专业
  • AI代理运行时解耦:会话即事件日志的工程实践
  • Codex客户端插件推荐:TOP 10 插件盘点,新手和开发者都值得收藏
  • Codex客户端必备插件TOP10推荐:系统自动化、Figma、GitHub、PPT一站式搞定(2026最新版)
  • 日用五金注塑模具,性价比真的能打吗?
  • DCMTK深度解析:医疗影像开发的完整解决方案实战指南
  • FanControl深度解析:打造Windows系统智能散热控制方案
  • AD复位原理图UniqueID的方法(解决原理图导入PCB,元器件位置错乱的方法)
  • 国内专业小程序开发公司盘点:2026十家高口碑小程序制作公司全方位梳理
  • Outfit字体完整指南:9种字重免费开源,打造专业品牌视觉体验
  • RTKPLOT可视化分析实战:从观测值文件到天空图,手把手教你分析GNSS数据
  • 保姆级教程:用Excel搞定K7 FPGA板级电源功耗评估(附XPE表格与SUMPRODUCT函数用法)
  • 别再死记硬背了!用Python+PyCUDA实战理解CUDA的Thread、Block和Grid
  • GoC编程比赛通关秘籍:从‘领奖台’到‘手机号码’,6道真题保姆级代码解析
  • 手把手编写儿童手机远程监控App之vue3用 AI Gent生成水平排列的按钮
  • 如何免费搭建个人云游戏平台:Sunshine串流服务器完整指南
  • 计算机毕业设计之基于个性化推荐的电商平台设计与实现
  • 合肥储能行业注意了:零基础玩转储能电站数字孪生三维可视化大屏
  • Xshell连接虚拟机步骤
  • 金融业应对AI与量子威胁:双轨加密体系架构设计与落地实践
  • 小米手机Root后,除了删App,用面具模块屏蔽系统更新到底靠不靠谱?
  • RTKPLOT保姆级教程:从打开文件到看懂卫星天空图,新手避坑指南
  • 别再死记硬背了!用Python脚本自动生成MuJoCo XML中的Geom几何体
  • 2026年选择优质梯式电缆桥架厂家指南
  • 别再自己从头训模型了!用MedBERT快速搞定医疗文本分类(附中文病历实战代码)
  • 一文讲透 RAG 核心术语:Embedding、Chunk、Vector DB、BM25、Reranker 到底是什么
  • YOLO-Master运行容器配置方法
  • 基于Nginx反向代理与JWT认证的AI WebUI安全网关实战部署
  • 3步搞定!Windows电脑直接运行安卓应用的实用方案