问题标签 [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 投票
1 回答
314 浏览

signals - QThread、信号和槽

尝试将相机预览缓冲区渲染到 BB10 中的 opengl 渲染器时出现问题(但与任何平台相关)。我的渲染器只是一个基本的开放式 gl 渲染器,它通过一个相对无限的渲染循环但是我希望从我的相机类(我实例化我的渲染器)中发送相机预览缓冲区,所以

所以发出函数是:

所以这很基本,我知道它的更新很好。但似乎我的线程可能有问题,因为虽然运行信号运行良好,但我的 settexturefromraw 插槽从未被触发,我尝试将其设置为本地摄像头功能以检查它不是摄像头(此)功能,但这是工作很好,所以我确定它是 settexturefromrawfunc。

如果有人有任何想法,请将它们扔给我,因为这已经让我很长时间了!干杯

0 投票
2 回答
4685 浏览

python - __slots__ 如何避免字典查找?

我听说__slots__通过避免字典查找使对象更快。我的困惑来自 Python 是一种动态语言。在静态语言中,我们a.test通过编译时优化来避免字典查找,以将索引保存在我们运行的指令中。

现在,在 Python 中,a可以很容易地成为具有字典或不同属性集的另一个对象。似乎我们仍然需要进行字典查找 - 唯一的区别似乎是我们只需要一个类的字典,而不是每个对象的字典。

有了这个理性,

  1. 如何__slots__避免字典查找?
  2. 插槽是否使访问对象更快?
0 投票
1 回答
2702 浏览

python - 使用 __slots__ 子类化一个类

我正在尝试子类化 ScrapyXPathSelector并修补以支持 CSS3 选择器。

XPathSelector定义如下:

我继承XPathSelector并覆盖__init__

当我尝试使用时,CSSSelector我得到AttributeErrors和的错误。手动添加这些插槽也无济于事。docxmlNodeexprCSSSelector

用 s 子类化一个类的正确方法是__slot__什么?


我的完整代码在这里:

我可以很好地初始化类:

但我AttributeError到处都是:

0 投票
1 回答
1592 浏览

python - Python:__slots__ 及其描述符的使用

如果我使用此代码,这不起作用:

为什么?

根据python 文档__slots__实现:

__slots__通过为每个变量名创建描述符(实现描述符)在类级别实现。因此,类属性不能用于设置由__slots__;定义的实例变量的默认值。否则,类属性将覆盖描述符分配。

但是描述符可以处理继承(至少如果用纯 python 编写的话)。

有谁知道,为什么这不起作用__slots__

编辑:似乎描述符通常不适用于super(),如果您正在尝试编写(虽然可以阅读)。所以我的问题宁愿是:为什么描述符是只读的,如果用 调用super()

0 投票
2 回答
309 浏览

python - 在 Python3 中使用类作为占位符

我看过很多关于 python 类的教程,但我正在尝试用它们做一些更基本的事情,但不知何故它不能正常工作。

我试图通过将它们放入班级的占位符来制作 3 维点。

但是,当我尝试打印make3Dpoint(x,y)

我得到类似的东西<__main__.point object at 0x02D8FA30>

当我尝试将此输出附加到列表时,我只会得到nonetype

显然我是这方面的初学者,我不想采用任何高级方法来解决这个问题(而且我不允许参加这个课程)。我不想修改类本身。

反正有没有使这个输出可用?

0 投票
1 回答
756 浏览

python - Python中的类使用__slots__时如何获取属性的名称?

当我在 Python 中定义一个新样式的类时,我可以使用 -Attribute 获取定义的属性(名称和值)__dict__,其中包含事物的字典。

我想在我的类及其子类中使用插槽,因为我将创建数十万个实例并希望节省一些内存。但是,确实使用的类__slots__将没有__dict__-Attribute,因此我不能以这种方式反射性地访问它们的值。

还有另一种方法,更可取的是保留为此类定义的属性的顺序?

任何帮助将不胜感激!

0 投票
2 回答
1219 浏览

python - Python __Slots__ (制作和使用)

我真的没有上课并且使用__slots__有人可以让它更清楚吗?

例如,我正在尝试创建两个类,一个是空的,另一个不是。到目前为止我得到了这个:

但我不知道如何制作“mkNonEmpty”。我也不确定我的 mkEmpty 函数。

谢谢

编辑:

这就是我最终的结果:

0 投票
1 回答
74 浏览

python - 未声明主窗口的类中的插槽

主窗口在 Class1 中声明。我正在尝试创建 Class2 的对象,创建一个小部件(一个按钮)并将其连接到一个插槽。

现在,按钮正在创建,但插槽不起作用。如何处理这个问题?

0 投票
1 回答
156 浏览

multithreading - Qt - 注册多个信号,当它们全部发出时会产生一个连接到一个插槽的巨大信号

在我的应用程序中,我有以下情况:

  • 物体发出信号removeCharacter
  • removeCharacter有 A 部分和 B 部分,A 部分完成后会触发信号removePath
  • 插槽onRemovePath连接到信号removePath并将删除角色的路径,然后触发信号pathRemoved
  • 插槽finishRemovingCharacter连接到信号pathRemoved并将完成字符删除过程的其余部分
  • 我不想finishRemovingCharacter在触发removePath信号时总是执行这个逻辑

是否有一些通用的方法来实现上述目标,最好是 Qt 可能已经有的东西?

编辑:我希望有一种通用的方法来指定信号和槽处理的序列,而不是需要一个中间槽来发送一个信号,它已经完成,以便下一步可以执行。

0 投票
1 回答
1096 浏览

c++ - 级联和信号/插槽

我在这个圈子里跑来跑去。只是无法将我的头绕在信号和插槽上。

只是寻找一些可以在我的 C++ 中出现信号时自动更新我的 UI 的机制。

例子:

我在 Qml 中有两个带有文本的标签: _app.method 返回一个值。

我有一个 onClicked 运行 Q_INVOKABLE 方法的按钮。该方法在完成时会发出一个信号,例如,获取地理坐标并更新上述文本:分配所依赖的值。

我想要的是更新文本:一旦这些值发生变化,分配。

我只需要清楚地解释这些信号/插槽。文档中唯一的示例似乎只假设 QML 或 C++,但不是两者的混合。示例代码有示例,但未在文档中具体说明。

如果你有简单的描述,我相信我可以适应它。例如,1:在 QML 中定义,2:在 hpp 文件中定义,3:在 cpp 文件中定义。

我试过使用 QObject 的 setPropery("text","value") 但是我的应用程序在尝试这个时崩溃了。

告诉我如果我错了...

1) 在 QML 中:

2) 在 HPP 中:

3) 在 CPP 中:

所以,发生的事情是,在 QML 中,onClick 方法将信号与 QML 函数连接起来;这意味着,现在我们正在监听值的变化,当它发生时,该函数将被调用。然后,我们更改值...由于 Q_PROPERTY 将写入值设置为名为 setValue 的函数,因此使用新值调用 setValue;在内部,m_iValue 发生了变化,并且发生了一个发射,它告诉正在收听 valueChanged 的​​人有一个新值。

嘿,我的 QML 正在听那个!(通过 _app.valueChanged.connect 脚本)。因此,正在监听的 QML 对象(按钮)调用了 onValueChanged 函数,并带有新值(因为发出 valueChanged(m_iValue)。

请告诉我我已经想通了??!?!