【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_()  # 注意这里的下划线,虽然这不会影响功能,但它是标准的写法
相关推荐
十五学长5 分钟前
程序设计C语言
c语言·开发语言·笔记·学习·考研
永远有缘1 小时前
Java、Python、C# 和 C++ 在函数定义语法上的主要区别
java·c++·python·c#
纵有疾風起6 小时前
C++—string(1):string类的学习与使用
开发语言·c++·经验分享·学习·开源·1024程序员节
Molesidy7 小时前
【随笔】【QT】QT5.15.2版本的最新下载方式!!!
开发语言·qt
梨轻巧7 小时前
pyside6的历史发展、Qt 介绍、PyQt 和 pyside6对比
qt·pyqt
二进制person8 小时前
Java EE初阶 --多线程2
java·开发语言
yue0088 小时前
C#理论学习-WinForm实践开发教程总结
开发语言·学习·c#
007php0078 小时前
某游戏大厂 Java 面试题深度解析(四)
java·开发语言·python·面试·职场和发展·golang·php
Mr.Jessy8 小时前
Web APIs学习第一天:获取 DOM 对象
开发语言·前端·javascript·学习·html
午安~婉8 小时前
javaScript八股问题
开发语言·javascript·原型模式