问题标签 [signals-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 投票
4 回答
16993 浏览

qt - Qt 信号和继承问题

我对使用 Qt 编程比较陌生,并且有一个问题。简洁版本:

如何继承超类中定义的信号?

我正在尝试继承其他人精心制作的 QTWidgets 以更改一些默认行为:

问题出在 QObject::connect 行。我想做的是将rotationChanged SIGNAL(来自qwt3D_plot.h)连接到本地函数/SLOT - “myRotationChanged”。但是,每当我这样做时,在运行时我会得到:

Object::connect: 没有这样的信号 matLinePlot::rotationChanged(double, double, double)

在 C:...\matrixVisualization.h。当然,我知道那rotationChanged不是 in matrixVisualization.h- 它是 in qwt_plot3D.h,但我认为既然我继承了Plot3D一切应该没问题。但是,现在我想起来了,因为 SIGNAL 和 SLOT 是宏,我认为MOC不知道/不关心继承。

这引出了我的问题——因为 MOC 和 SIGNALS / SLOTS 似乎不了解继承等:我如何子类化在其他地方定义的小部件并访问小部件的信号?

我有很多关于如何使用封装来完成这样的事情的例子,但恐怕我不明白如何用继承来做到这一点。

对不起,如果这是一个荒谬的问题 - 我觉得我错过了一些明显的东西。

0 投票
2 回答
6200 浏览

python - 从字符串列表创建 PyQt 菜单

我有一个字符串列表,想为每个字符串创建一个菜单项。当用户单击其中一个条目时,应始终以字符串作为参数调用相同的函数。经过一些尝试和研究,我想出了这样的事情:

现在的问题是每个菜单项都将打印相同的输出:“Item 3”而不是相应的。我很感谢任何关于我如何才能做到这一点的想法。谢谢。

0 投票
3 回答
7668 浏览

c++ - Qt 和 C++ - 未定义的插槽引用

我在 Qt 中有一个插槽的构建错误。我有一个有公共插槽的课程:

在这个类的构造函数中,我做:

我有 QLineEdit - textFrom 对象。构建错误是

:-1: 错误: collect2: ld 返回 1 退出状态

请帮帮我 (:

0 投票
1 回答
1087 浏览

qt - Qt Jambi(Qt4Dotnet):区分插槽中的信号发射器

我是 Qt 的新手,陷入了信号/插槽机制。我有一个带有许多工具按钮的工具栏,每个按钮都与一些小部件相关联。任务是在单击工具按钮时显示适当的小部件。我想编写一个处理关联的插槽,但我不知道如何区分哪个按钮触发了信号。似乎QToolButton的clickedtoggled信号仅接受无参数插槽并且不存储有关其发射器的信息。我可以继承 QtoolButton并引发一个 CLR 事件,其中包含有关每次单击切换信号发射的事件发送者的信息,但应该有更简单的方法来做我想做的事。你能帮助我吗?

0 投票
5 回答
23282 浏览

qt - QT + 如何从在不同线程中运行的自定义 C++ 代码调用插槽

我是 QT 的新手,我正在学习。

我想触发一个从 C++ 线程(当前是 Qthread)修改 GUI 小部件的插槽。

不幸的是,我得到一个:断言失败:Q_ASSERT(qApp && qApp->thread() == QThread::currentThread());

这是一些代码:

(MAIN + Thread 类)

窗户:

所以我很好奇如何通过不同线程中的代码更新 gui 部分。

感谢您的帮助

0 投票
2 回答
3989 浏览

qt - Qt 信号到特定对象的插槽

我想知道以下哪一项是在 Qt 中处理信号/插槽的正确方法。

我需要一种方法来拥有 Dialog 的多个实例,即:AB. 我需要告诉A打印“A”并B从不同的线程打印“B”。所以我相信我需要类似的东西:

选项 1) A->print("A")B->print("B")

还是这样做更好:

选项 2) emit print("A")并且emit print("B")使用我不知道的方式,所以只A抓住“A”,只B抓住“B”。

我的选项 1 是这样工作的:

然后我要做的就是:

这是正确的吗?

谢谢!

0 投票
3 回答
2471 浏览

qt - QObject::connect 问题与 QAbstractItemModel

我有一个 QListView,我从中获得一个 QAbstractItemModel 与 list->model();

在此之后,我想将 dataChanged 信号连接到我的自定义 QObject:

这是我的自定义对象:

我做错什么了吗?QObject 调用返回 true,我在 onText 函数中有一个 cout,但是当 QListView 更改时没有打印任何内容。

0 投票
2 回答
2584 浏览

qt - 帮助在 Qt 的 rowInserted 信号后获取插入的数据

我有一个连接到 QAbstractItemModel 的 rowsInserted SIGNAL 的 onText 方法,因此可以在插入新行时收到通知:

信号工作正常,因为插入行时我会收到通知。这是 onText 方法:

但我似乎无法从插入的项目中获取字符串。传递的 QModelIndex“父级”无效,并且“m”QAbstractItemModel 为 NULL。我认为这是因为它不是一个实际的项目,而只是一个指向一个的指针?如何获取插入的文本/元素?

0 投票
2 回答
194 浏览

python - 结合两个 QMainWindows

晚安 pythonistas 和其他编码人群,

我有两个 QMainWindows 分别设计和编码。我需要:

  1. 先显示
  2. 按下按钮关闭第一个窗口
  3. 使用第一个窗口的参数构造并显示第二个窗口

我试图设计第三类来控制流量,但它不理解我的信号/插槽尝试:

哦,大师们,您会以某种聪明的方式或机智的技巧启发我来解决我的困难。

干杯。

0 投票
2 回答
739 浏览

apache-flex - 使用信号和槽的 Flex 框架

是否有使用 Qt Signal and Slots 范例的 Flex 框架?

我已经厌倦了这些事件映射框架。