按Enter键时如何将行编辑值分配给变量

时间:2013-06-01 19:50:01

标签: python qt pyqt qlineedit

我需要将输入的数字输入QLineEdit对象,并在按下回车键时将其分配给变量x。如何使用Qt 4.5中实现的新信号和插槽机制来实现这一点?

import sys
from PyQt4 import QtGui

class Example(QtGui.QWidget):

    def __init__(self):
        super(Example, self).__init__()

        self.initUI()

    def initUI(self):
        data1 = QtGui.QLineEdit('', self)
        data1.move(10, 13)

        self.setGeometry(300, 300, 250, 45)
        self.setWindowTitle('Absolute')    
        self.show()

def main():
    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

if __name__ == '__main__':
    main()

2 个答案:

答案 0 :(得分:2)

您可以使用 EventFilter

来完成

示例:

class eventFilter(QtCore.QObject):

    def eventFilter(self,  obj,  event):
        if event.type() == QtCore.QEvent.KeyPress:
            print 'Key: %s' % event.key()

        return obj.eventFilter(obj, event);

并将其安装到lineedit

filter = eventFilter(data1)
data1.installEventFilter(filter)

注:

不要忘记导入 QtCore 模块

答案 1 :(得分:0)