【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_()  # 注意这里的下划线,虽然这不会影响功能,但它是标准的写法
相关推荐
山甫aa7 小时前
Java的包和import
java·开发语言
松☆7 小时前
昇腾NPU上的张量操作库,和PyTorch的张量操作有啥不一样?
人工智能·pytorch·python
PILIPALAPENG8 小时前
第4周 Day 4:Agent 工作流模式——编排复杂流程
前端·人工智能·python
mumu_wangwei8 小时前
【QFS】Golang自研的QFS分布式文件系统,QFS文件系统使用
开发语言·后端·golang
兰令水8 小时前
topcode【随机算法题】【2026.5.24打卡-java版本】
java·开发语言·算法
hef2888 小时前
Java Switch和Break语句用法详解:从入门到实战
java·开发语言
techdashen8 小时前
在 Rust 异步接口的丛林中生存:从同步 I/O 到手写异步状态机
开发语言·后端·rust
EnCi Zheng9 小时前
09a-斯坦福 CS336 作业一:BPE分词器
开发语言·python·算法
5201-9 小时前
Cube MatMul:为什么矩阵乘法选了 Cube 而不是 Vector
pytorch·python·矩阵
weixin_448946639 小时前
安裝Hermes
python