【PyQt】keyPressEvent键盘按压事件无响应

问题描述

通过load ui 文件加载程序时,keyPressEvent键盘按压事件无响应

原因

主要是由于事件处理的方式和窗口的显示方式不正确所导致的。

解决代码

  • self:这里的self作为loadUi函数的第二个参数,意味着加载的界面将被设置为当前类实例(self)的属性。这意味着你可以通过self.ui访问界面中的各个组件,比如按钮、文本框等。
python 复制代码
class MyWindow(QWidget):
    def __init__(self):
        super().__init__()
        self.ui = uic.loadUi("./计算器.ui", self)  # 注意这里的 self 参数

    def keyPressEvent(self, event):

        print("Key press event triggered")

if __name__ == "__main__":
    app = QApplication(sys.argv)
    w = MyWindow()
    w.show()  # 正确显示 MyWindow 实例
    app.exec_()  # 注意这里的下划线,虽然这不会影响功能,但它是标准的写法
相关推荐
Thomas_YXQ15 分钟前
Unity3D Overdraw性能优化详解
开发语言·人工智能·性能优化·unity3d
lanbing21 分钟前
PHP 与 面向对象编程(OOP)
开发语言·php·面向对象
yzx99101322 分钟前
Gensim 是一个专为 Python 设计的开源库
开发语言·python·开源
麻雀无能为力40 分钟前
python自学笔记2 数据类型
开发语言·笔记·python
Ndmzi44 分钟前
matlab与python问题解析
python·matlab
懒大王爱吃狼1 小时前
怎么使用python进行PostgreSQL 数据库连接?
数据库·python·postgresql
猫猫村晨总1 小时前
网络爬虫学习之httpx的使用
爬虫·python·httpx
web150854159351 小时前
Python线性回归:从理论到实践的完整指南
python·机器学习·线性回归
招风的黑耳1 小时前
Java集合框架详解与使用场景示例
java·开发语言
ayiya_Oese1 小时前
[训练和优化] 3. 模型优化
人工智能·python·深度学习·神经网络·机器学习