【问题标题】:How does the Qt Slots works. PySideQt 插槽如何工作。 PySide
【发布时间】:2015-01-12 11:04:07
【问题描述】:

我正在使用 Qt 来构建我的应用程序的 GUI,

我了解信号,女巫我正在连接到我的 def(函数),这正在按照我的意愿工作。但是Signals旁边是Slot,我不太明白,[signal-function]连接和[signal-slot]连接有什么区别

我就是这样使用这些东西的:

class theOne(QObject):

    started = Signal()

    def __init__(self):
        ...

    def function(self):
        self.started.connect(self.goStart)
        self.started.emit()

    def goStart(self):
        """some actions"""

有人可以解释一下,插槽是干什么用的?关于它们可以带一些参数吗?但正常功能也可以。感谢您的宝贵时间。

【问题讨论】:

  • 是的,我阅读了 PySide 版本,但我没有看到我想看到的,这对我来说并不那么明显。有人可以说点什么,使用函数和使用插槽有什么区别?感谢您的宝贵时间。

标签: qt pyside signals-slots slots


【解决方案1】:

槽是函数。 插槽和函数之间的唯一区别在于,使用 slot 关键字,Qt 元对象编译器 (MOC) 将获取该函数的函数指针并将其用于自己的目的(如响应信号)。 您可以通过抓取其中一个函数的指针并在布尔值为真时调用它来完全重现这种过程。

希望对您有所帮助。

PS:我的背景和技能更多地与 C++ 相关,但你应该明白我的意思;)

【讨论】:

  • 我必须阅读有关 Python 装饰的内容才能了解发生了什么。感谢您的回答,一切都清楚了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-21
相关资源
最近更新 更多