在pyqt中发送文本信号

时间:2013-04-23 14:51:26

标签: python pyqt

我正在用pyqt编写GUI程序。我写了它的框架,现在我想写在LineEdit并将它放入我的程序并做一些工作。我知道我应该使用信号,但我找不到它的功能。我该怎么写呢?

之后我想显示更改TextEdit框的结果。怎么可能?

这是我的代码:

from PyQt4 import QtGui, QtCore
import sys

class Rss(QtGui.QWidget):

  def __init__(self):
        super(Rss,self).__init__()
        self.resize(350,200)
        self.center()
        self.setWindowTitle("Rss Reader")
        btn = QtGui.QPushButton("OK",self)
        btn.setGeometry(300,40,40,20)
        lbl = QtGui.QLabel("insert the site here :",self)
        lbl.setGeometry(10,10,100,20)
        txt = QtGui.QLineEdit(self)
        txt.setGeometry(120,10,220,20)
        res = QtGui.QLabel("The Result Is :",self)
        res.setGeometry(10,60,100,20)
        result = QtGui.QTextEdit(self)
        result.setGeometry(10,80,330,100)
        self.show()

  def center(self):
        qr = self.frameGeometry()
        cp = QtGui.QDesktopWidget().availableGeometry().center()
        qr.moveCenter(cp)
        self.move(qr.topLeft())


app = QtGui.QApplication(sys.argv)
rss = Rss()
sys.exit(app.exec_())

1 个答案:

答案 0 :(得分:1)

如果查看documenation,您会在那里找到所有可用的信号。您只需要在您的班级中添加一个应该完成工作并在__init__中连接它们的方法:

txt.editingFinished.connect(self.do_the_work)

您可能还希望保留对txt窗口小部件的引用(将txt替换为self.txt ...),以便您可以轻松查找新值。