news 2026/7/3 18:15:48

基础控件的信号:

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基础控件的信号:

按键:

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')
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/3 16:05:06

Three.js 人物模型动画案例教程

人物模型动画案例 Model Animation ▶ 在线运行案例 案例合集: 三维可视化功能案例(threehub.cn)开源仓库github地址: https://github.com/z2586300277/three-cesium-examples400个案例代码: 网盘链接 你将学到什么 glTF 模型…

作者头像 李华
网站建设 2026/7/3 18:15:45

Octo 正式开源:首个开源可信的人与agent协作平台

明略科技6月29日正式开源 Octo——一套面向人与 AI Agent 协作的新一代工作平台。 随着越来越多 AI Agent 被引入个人终端和企业业务流程,一个新的问题开始出现:Agent 能够完成越来越复杂的任务,但它们彼此独立,缺少统一的协作方…

作者头像 李华
网站建设 2026/7/3 18:15:44

告别高昂外包费!苏州制造企业如何用零代码平台3天自建数字孪生工厂?

一、 苏州制造,呼唤更高效的数字孪生打法苏州,作为全国乃至全球的制造业重镇,拥有庞大的电子、机械、医药等产业集群。面对日益激烈的市场竞争和数字化转型浪潮,越来越多的苏州制造企业开始寻求通过数字孪生技术来提升生产效率、优…

作者头像 李华
网站建设 2026/7/3 18:15:42

社交钱包开发的技术逻辑与人文转向

社交钱包开发的技术逻辑与人文转向 优链科技:在Web3的叙事中,钱包向来被视作通往数字世界的门户。然而,如果我们对这个“门户”的理解仅仅停留在私钥管理与资产签名,便错过了这场技术变革中最具人文温度的部分。社交钱包的出现&am…

作者头像 李华
网站建设 2026/7/2 13:26:13

翅片管散热器的设计与应用解析

翅片管散热器的基础介绍翅片管散热器是一种高效的换热设备、广泛应用于多个工业领域。这种散热器的设计利用了翅片在管道表面的增加接触面积大幅提升了传热效率。它们通常由金属材料制成,具有良好的导热性能。在实际应用中、该主题可根据不同工况调整设计冷却或加热…

作者头像 李华
网站建设 2026/7/2 14:12:59

告别手动绑定!用WxValidate在微信小程序+vant weapp里优雅搞定表单校验

微信小程序vant weapp表单校验深度实践:WxValidate的优雅封装方案每次在小程序开发中遇到表单校验,总让人想起那些重复的bindinput事件和手动更新数据的日子。特别是当项目引入vant weapp组件库后,虽然UI美观度提升了,但van-field…

作者头像 李华