首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

PyQt 回车时改变focus 没找到答案解决思路

2013-06-19 
PyQt 回车时改变focus 没找到答案RT, 当在lineEdit等控件上回车时, 如何实现focus 到下一个控件?默认使用t

PyQt 回车时改变focus 没找到答案
RT, 当在lineEdit等控件上回车时, 如何实现focus 到下一个控件?
默认使用tab键正常,但我想改变为回车键, 搜索了下,只有Qt方面提到这个问题, 但还是没搞清楚如何使用Qt来实现这个问题.

[解决办法]


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

class MyWidget(QWidget):
    def __init__(self,parent=None):
        super(QWidget,self).__init__(parent)
        self.resize(600,400)
        self.setStyleSheet(QString.fromLatin1("background:black"))
        layout = QHBoxLayout()
        self.btn1 = QPushButton()
        self.btn2 = QPushButton()
        self.btn3 = QPushButton()
        layout.addWidget(self.btn1)
        layout.addWidget(self.btn2)
        layout.addWidget(self.btn3)
        self.setLayout(layout)

    def keyPressEvent(self, event):
        keyEvent = QKeyEvent(event)
        if keyEvent.key() == Qt.Key_Enter:
            self.focusNextChild()

if __name__ == "__main__":
    import sys
    app = QApplication(sys.argv)
    MainWidget = QWidget()
    MainWidget.resize(800,600)
    childWidget = MyWidget(MainWidget)
    MainWidget.show()
    childWidget.show()
    app.exec_()

写了下
应该可以
不过键盘有的键位映射不一样
我这个用小键盘里的Enter是可以的
不过大Enter好像被映射到别的值上去了
你可以根据你的键位映射稍微改下
重载KeyPressEvent

热点排行