问题标签 [slots]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
11 回答
288977 浏览

python - __slots__ 的用法?

Python的目的是什么__slots__——尤其是关于我什么时候想用它,什么时候不想用?

0 投票
5 回答
18273 浏览

python - 子类中 __slots__ 的继承实际上是如何工作的?

关于插槽的 Python 数据模型参考部分中,有一个关于使用__slots__. 我对第 1 项和第 6 项感到非常困惑,因为它们似乎相互矛盾。

第一项:

  • 从没有 的类继承时,该类 __slots____dict__属性将始终可访问,因此__slots__ 子类中的定义是没有意义的。

第六项:

  • 声明的作用__slots__ 仅限于定义它的类。因此,子类将有一个__dict__ 除非它们也定义__slots__ (它必须只包含任何附加插槽的名称)。

在我看来,这些项目可以更好地措辞或通过代码显示,但我一直在努力解决这个问题,但仍然感到困惑。我确实了解应该如何使用__slots__,并且我正在尝试更好地了解它们的工作原理。

问题:

有人可以用简单的语言向我解释子类化时插槽继承的条件是什么?

(简单的代码示例会有所帮助,但不是必需的。)

0 投票
3 回答
11875 浏览

python - 为什么我在尝试腌制对象时收到关于定义 __slots__ 的类的错误?

我正在尝试腌制我定义的(新型)类的对象。但我收到以下错误:

我没有__slots__在课堂上明确定义。我所做的事情是否隐含地定义了它?我该如何解决这个问题?我需要定义__getstate__吗?

更新: gnibbler选择了一个很好的例子。我试图腌制的对象的类包装了一个套接字。(我现在想到)套接字定义__slots__并没有__getstate__充分的理由。我假设一旦一个进程结束,另一个进程就不能解开并使用前一个进程的套接字连接。因此,虽然我接受了Alex Martelli的出色回答,但我将不得不采取与酸洗不同的策略来“共享”对象引用。

0 投票
1 回答
2231 浏览

symfony1 - Symfony 1.4 中的插槽没有从动作传递到布局

我正在使用以下内容在操作中设置一个插槽,但我无法在布局中检索它。

但是如果你在模板文件中设置它,它就可以正常工作。

有人对此有任何想法吗?

0 投票
1 回答
953 浏览

c++ - Qt C++ WebKit windowCloseRequested 信号

我正在尝试将 QWebpage::windowCloseRequested() 连接到仅打印出调试消息的插槽。当我调用 window.close(); 在 JavaScript 中,它不会冒泡信号或调用插槽...

插槽已设置,它位于我的 window.h 文件中,如下所示:

函数定义为:

当我编译时,没有错误,之前有人说我的插槽错误,我想出了那部分,没有更多错误,但是现在当我点击一个链接,或者在加载的网页中使用 javascript 调用 window.close() ,它什么也没做。如果我手动调用该函数,它会打印出调试消息。

任何指针或帮助/解决方案将不胜感激。请注意,上面的代码基于浏览器示例的 Tabwidget.cpp 代码。这是我能找到的最好的参考。

0 投票
1 回答
186 浏览

qt - 为 QPushButton 使用自定义插槽时,为什么会收到两个单击或释放信号?

这是我最初认为是消息框的主要代码,但设置标签具有相同的效果。

0 投票
1 回答
1083 浏览

qt4 - 在 qt4 中跨类中继信号的正确方法?

我有一个 QMainWindow ,它产生了一些向导。QMainWindow 有一个列出对象集合的 QFrame 类。我想从我的向导的 QWizardPages 中启动这个窗口。

基本上,我需要将信号连接到祖父母的插槽。最明显的方法是:

作为 qt4 的新手,我想知道遍历父树和 qobject_cast 是否是最佳实践,或者是否有另一种更推荐的方法?

0 投票
1 回答
4604 浏览

python - 如何使用自引用和带有插槽的类来腌制和取消腌制对象?

当该对象通过其属性之一引用自身时,从具有插槽的类中提取对象的正确方法是什么?这是一个简单的示例,使用我当前的实现,我不确定它是否 100% 正确:

例如,这可以通过以下方式进行测试:

这是一个正确/可靠的实现吗?如果从一个类继承,__getstate__应该如何__setstate__写?由于“循环”字典,内部是否存在内存泄漏?my_class__slots____setstate__

PEP 307中有一句话让我想知道酸洗my_class对象是否可能以一种健壮的方式进行:

__getstate__方法应该返回一个表示对象状态的可挑选值,而不引用对象本身。

这是否与对对象本身的引用被腌制的事实相冲突?

这是很多问题:任何评论、评论或建议将不胜感激!

0 投票
1 回答
916 浏览

plugins - 带插槽的 QT 接口

我按照本教程制作了一个界面和插件:http: //doc.trolltech.com/4.6/plugins-howto.html ,一切正常。

但是知道我想将信号连接到插件的插槽。

试图这样做我得到一个错误,我缺少 Q_OBJECT 宏的界面。当我添加它时,我得到一个错误,现在接口和插件实现了它。当我从插件中删除它时,插件已损坏。

所以我的问题是,是否可以声明一个带有插槽的 qt 接口,所有继承该接口的类都实现它?

0 投票
2 回答
2888 浏览

c++ - boost::signals2 的性能

我正在从 xlobjects 切换到 boost::signals2 作为我的信号/插槽框架,希望建立连接、去除 threir、信号发射等是线程安全的。我根本对线程间信号发射不感兴趣。

所以简单的问题是: boost::signals2 线程是否安全,例如,两个或多个线程可以在同一个信号上建立连接?

此外,与 xlobjects 相比, boost::signals2 是否会导致性能损失?这并不重要,因为应用程序并不严重依赖信号/插槽,但我还是想知道。