控制KeyPressEvent返回的Tab关键字

时间:2016-01-05 00:11:29

标签: python pyqt

我的应用中有一个QPlainText。当点击此QPlainText或从键盘输入字符时,我调用一个方法从数据库中获取名为get_info()的信息。这就是我使用此方法的方法:

self.plainTxtPatientDiagnosis.keyPressEvent = functools.partial(self.get_info)
self.plainTxtPatientDiagnosis.mousePressEvent = functools.partial(self.get_info)

并将文字设置为QPlainText

 def get_info(self, event):
        if event.key == QtCore.Qt.Key_Tab:
            self.chkboxPatientStatus.setFocus()

        ......(Getting info from database codes)

我想要做的是当按Tab键时,聚焦另一个QCheckBox对象。如果我从键盘输入tab关键字从数据库获取信息并设置QPlainText对象但不聚焦QCheckbox对象。如果我按鼠标会出现错误:

AttributeError: 'QMouseEvent' object has no attribute 'key'

我该怎么办?

1 个答案:

答案 0 :(得分:0)

在这种情况下,为什么你需要部分?,你没有传递任何东西而你没有连接信号。

self.plainTxtPatientDiagnosis.keyPressEvent.connect(self.get_info)
self.plainTxtPatientDiagnosis.mousePressEvent.connect(self.get_info)

不要这样做吗?