0

我需要在 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()
4

2 回答 2

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模块

于 2013-06-01T20:52:46.597 回答
0

QLineEdit::returnPressed()信号。

于 2013-06-02T07:08:27.280 回答