【问题标题】:Signals and Slots PyQt信号和插槽 PyQt
【发布时间】:2012-07-13 15:45:13
【问题描述】:

我在 PyQt 中发现了一些连接信号和插槽的新方法。请查看此链接。 How to capture output of Python's interpreter and show in a Text widget?。这里 textWritten(signal)=self.normalOutputWritten(function) 是直接连接的。这是工作。有人可以详细说明这种新的连接方式。

重新表述问题: How to capture output of Python's interpreter and show in a Text widget?。 在上面的链接中, testWritten 被定义为 pyqtSignal 和 self.normalOutput 是槽函数。通常,我们使用旧样式或新样式进行连接,但在这里它们只使用了“=”符号。这是工作。请解释一下这种新方法。

【问题讨论】:

    标签: pyqt signals-slots


    【解决方案1】:

    当你创建一些 PyQt 对象时,你可以设置属性并将使用关键字参数的信号连接到__init__(),例如:

    button = QtGui.QPushButton(clicked=on_click, text='My button', checkable=True)
    

    更多信息见:

    PyQt Support for Qt Properties

    Frequently overlooked (and practical) PyQt4 features

    【讨论】:

    • 我熟悉新旧风格的连接槽和信号。他们都使用 'connect' 。在这里,testWritten 信号通过使用 '=' 连接到 self.normalOutput 函数。请检查我更新的问题。谢谢。
    • @kasa,你在说sys.stdout = EmittingStream(textWritten=self.normalOutputWritten)QPushButtton(clicked=self.on_click) 相同,即关键字参数。您是否阅读了答案中的链接?
    猜你喜欢
    • 2011-08-08
    • 1970-01-01
    • 1970-01-01
    • 2011-11-23
    • 2011-08-16
    • 2013-09-05
    • 1970-01-01
    • 2011-04-23
    • 2010-11-07
    相关资源
    最近更新 更多