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