这是我在行编辑中设置文本后的示例程序,我想使用键盘输入关键字将光标位置从一行编辑更改为另一行。因此我编写了按键事件,但此函数仅对一行编辑执行。请任何人帮助我。提前谢谢
下面是我的示例代码:
import sys
from PyQt4 import QtGui,QtCore
class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
box=QtGui.QVBoxLayout(self)
self.lbl1 = QtGui.QLineEdit()
self.lbl1.move(15, 10)
self.lbl2 = QtGui.QLineEdit()
self.lbl2.move(35, 40)
self.lbl3 = QtGui.QLineEdit()
self.lbl3.move(55, 70)
box.addWidget(self.lbl1)
box.addWidget(self.lbl2)
box.addWidget(self.lbl3)
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('Absolute')
self.show()
def keyPressEvent(self, event):
if event.key() == QtCore.Qt.Key_Return:
if self.lbl1.setFocus():
self.lbl2.setFocus()
elif self.lbl2.setFocus():
self.lbl3.setFocus()
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
一个可能的解决方案是使用eventFilter来监听小部件的事件,因此检查是否是focusWidget应用了您指示的逻辑:
相关问题 更多 >
编程相关推荐