问题标签 [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.
c++ - 指向 Qt 插槽的指针
我想建立一个指向 Qt Slot 的指针:
插槽定义为:
我尝试做这样的事情:
但是编译器说签名不匹配:
错误:
void (DriverBoard::)(long unsigned int)' does not match
void (*)(long unsigned int)'类型的参数
提示:插槽在 DriverBoard 类中
知道我的错误在哪里吗?
如果有人知道 - 是否也可以用信号做类似的事情?
谢谢!西蒙
qt - Qt 小部件稍后更新,但什么时候更新?
我想知道当我调用 QWidget 的 update() 方法时会发生什么。
这是文档:
http://doc.qt.digia.com/4.5/qwidget.html#update
此函数不会导致立即重绘;相反,它会在 Qt 返回主事件循环时安排一个绘制事件进行处理。与调用 repaint() 相比,这允许 Qt 进行优化以获得更快的速度和更少的闪烁。
我从 Qt 源代码中看到创建了一个 QUpdateLaterEvent 并使用QEvent::UpdateLater类型发布
在这部分文档 http://doc.qt.digia.com/4.5/qevent.html
QEvent::UpdateLater:小部件应该排队等待稍后重新绘制。
“以后”是什么意思?
我所有发出的排队信号和事件队列中的事件是否在绘制之前处理?
谢谢,
加博尔
go - 如何在不阻塞的情况下确定 goroutine 是否已完成?
到目前为止,我看到的所有示例都涉及阻塞以获取结果(通过<-chan
操作员)。
我目前的方法涉及将指针传递给结构:
goroutine 在完成时写入的内容。finished
然后在方便的时候进行检查是一件简单的事情。你有更好的选择吗?
我真正的目标是 Qt 风格的信号槽系统。我有一种预感,解决方案看起来几乎是微不足道的(chan
s 有很多未开发的潜力),但我对语言还不够熟悉,无法弄清楚。
qt - Qt:事件是否按顺序处理?
如果我有一个 A 类,它的一个功能是:
假设一个 B 类有 2 个 slot,一个连接到first_signal
,另一个连接到second_signal
,是否保证连接到的 slotfirst_signal
总是在slot之前second_signal
被处理?
qt - Qt库事件循环问题
我正在编写一个 DLL,它被另一个应用程序用作插件,并希望利用 Qt 的功能。
我已经设置、编译和运行了所有类,但没有发出任何信号。所以看起来好像没有QEventLoop。
尝试1:
我将我的主类修改为子类QThread而不是QObject,并在run()中创建一个QEventLoop,连接所有信号/插槽,并执行线程。
但是它没有说没有 QApplication 就不能拥有 QEventLoop。
尝试 2:
我修改了主类(仍然是 QThraed 的子类)以实例化 QCoreApplication,连接所有信号/插槽,然后执行应用程序。
警告 QApplication 不是在 main() 线程中创建的,并且仍然不会发出信号。
我不确定在这里做什么。我显然无法在将使用我的插件的应用程序中创建一个 QCoreApplication,而且我不能在没有它的情况下发出信号。
我已经包含了一个简单的(并且写得很糟糕)测试应用程序,它应该可以说明我的问题:
任何帮助,将不胜感激!
主.cpp:
ThreadThing.h:
ThreadThing.cpp:
输出:
c++ - 试图让信号在我的 QT 中工作。我需要一些建议和帮助
所以我的主要功能是:
我在 QT Desginer 中设置了一个 Signal,名为:output(const QString &s)
我的信号接收器是我的“表单”......在我的表单中。嗨有:插槽称为“changeOutput(const QString&s)。
output_box 是一个 QTextEdit 框。
我收到的错误是:TCPClient.cpp:122: error: no match for call to '(const QString) (const QString&)'</p>
我究竟做错了什么?
谢谢 :)
c++ - 是否可以看到 Q_SIGNALS、Q_SLOT、SLOT()、SIGNAL() 宏的定义?(Qt)
是否可以在 Qt 框架中看到 Q_SIGNALS、Q_SLOT、SLOT()、SIGNAL() 宏的定义?
PS Google 在这个问题上什么也没给我。
c++ - Qt 告诉我我的 SLOT 不存在,但是通过 make clean,让它不再抱怨
当我从我们的 SVN 下载一个新副本,然后运行我的程序时,Qt 告诉我我的一个 SLOTS 不起作用,但是用一个方便的花花公子 make clean 然后 make,它似乎解决了这个问题。我继续在我的 PC 上更改代码,并且该消息不再显示。
C++ Qt 4.6 gcc
有人遇到过这个问题吗?和想法?
谢谢
qt - Qt 信号和槽的参数类型,const 引用限定符重要吗?
用于以下类型的信号和插槽
textChanged 和 setText 的参数类型似乎对const和&起作用。与仅使用 QString 相比,常量和引用限定有什么不同吗?
编辑:当在 SIGNAL 或 SLOT 中使用不兼容的类型时,我没有注意到输出窗口显示错误消息。我认为信号槽机制能够在编译时检测参数类型错误。
qt - 无法将信号绑定到 QT 中的插槽
我刚开始使用 QT,我知道信号/插槽的概念,但在实现它时我遇到了问题。看看我的代码:
注意:我添加了 Q_OBJECT 宏并从 test.h 中的 QObject 继承
这是我的测试容器
代码编译完美,但什么也不会发生。我不太确定我犯了哪一部分错误:-?