没有焦点时是否将键盘事件重定向到QTextEdit?

没有焦点时是否将键盘事件重定向到QTextEdit?,qt,qt4,pyqt,pyqt4,pyside,Qt,Qt4,Pyqt,Pyqt4,Pyside,当QTextEdit没有焦点时,如何将键盘事件重定向到文本编辑器 我的密码在这里 谢谢你的帮助! 我确实想在应用程序级别截获任何关键事件,以前也有人告诉我在这种情况下使用事件过滤器,但我在这里实现eventFilter()函数时遇到困难,你能展示一些代码吗?提前谢谢 使用事件筛选器将其从应用程序的另一部分重定向 如果您的应用程序根本没有重点,那么您需要使用键盘挂钩或类似的东西 希望对您有所帮助。这就是如何在代码中实现eventFilter: import sys from PyQt4.QtG

当QTextEdit没有焦点时,如何将键盘事件重定向到文本编辑器

我的密码在这里

谢谢你的帮助!
我确实想在应用程序级别截获任何关键事件,以前也有人告诉我在这种情况下使用事件过滤器,但我在这里实现eventFilter()函数时遇到困难,你能展示一些代码吗?提前谢谢

使用事件筛选器将其从应用程序的另一部分重定向

如果您的应用程序根本没有重点,那么您需要使用键盘挂钩或类似的东西


希望对您有所帮助。

这就是如何在代码中实现eventFilter:

import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *

class BoxLayout(QWidget):
    def __init__(self, parent=None):
        super(BoxLayout, self).__init__(parent)
#        self.resize(100, 300)

        ok = QPushButton("OK")
        cancel = QPushButton("Cancel")
        self.textEdit = QTextEdit()
        vbox = QVBoxLayout()
        vbox.addWidget(self.textEdit)
        vbox.addWidget(ok)
        vbox.addWidget(cancel)
        self.setLayout(vbox)

        self.installEventFilter(self)





    def eventFilter(self, object_, event):
        if event.type() == QEvent.KeyRelease and self.focusWidget() != self.textEdit:
            self.textEdit.append(event.text())

        return False


app = QApplication(sys.argv)
qb = BoxLayout()
qb.show()
sys.exit(app.exec_())

如果你想阻止其他小部件接收密钥,只需在事件过滤器中返回True,它的工作方式是否与此问题中的轮子事件完全相同:也许相同,但我不理解他的代码。你能给我看一些代码吗?当然,前提是应用程序仍然有焦点