问题标签 [slot]

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 回答
17442 浏览

qt - 如何将qobject作为参数从信号传递到qt connect中的插槽

我的原始代码将一个 QStringList 从信号传递到插槽,然后返回一个 QList。一切正常,但我需要将 QStringList 和 QList 都更改为 2 个不同的子类 QObject。从那以后,我一直收到诸如“此处首先需要合成方法”之类的错误,或者它只是崩溃而没有任何错误消息。

我知道 qt 会复制队列连接中传递的所有参数,并且无法复制 qobject。因此,我认为我会在发出信号之前创建两个 qobject,而不是返回一个 qobject。然后我将传递对每个对象的引用,在槽函数中修改其中一个并取消返回值。不幸的是,无论我如何编码信号和槽函数,应用程序仍然崩溃。如何编码信号/槽函数并将它们连接以将两个 qobjects 作为参数传递或返回 qobject?

receiveSignal() 函数不直接创建或修改任何 qobject。它必须首先将 qobjects 传递给另一个函数,该函数然后修改 obj2 或创建并返回它。任何代码示例将不胜感激。

0 投票
3 回答
979 浏览

c++ - 带返回值的信号/插槽不起作用

我在 Qt 中创建了一个信号槽,程序运行时没有错误或关于我所做的连接的警告。问题是当我想使用信号槽时,它总是返回 NULL。

主文件

游戏.h

游戏.cpp

拼字游戏.h

当我int turn = emit getTurn();在 Scrabble.cpp 中使用时,turn 将变为 0 而不是 1。有谁知道我做错了什么?

0 投票
2 回答
21256 浏览

qt - 无法将信号连接到另一个类中的插槽

我有2节课。A 类和 B 类。我正在从 A 类发出一个信号,我希望 B 类接收到该信号。

我正在按照以下方式进行操作

在侦听器文件中

实施文件:

在 A 类

头文件:

.cpp 文件

B类

我尝试调试。直到正确发射部分。但是它没有到​​达插槽。有人可以帮我解决这个问题。谢谢你。

0 投票
1 回答
3144 浏览

qt - Best practice for QT updating values signals/slots

What do you consider best practice for designing signal/slot interaction for updating member values in a class?

For instance, consider a member variable that is represented on a UI. The user alters the value in the UI. A signal/slot relationship exists to automatically update the member variable via a member variable update function.

We also want changes to the member variable to be automatically updated on the UI, so there is a signal/slot relationship the other way. On updating the member variable via the update function, a signal triggers the UI to be updated.

How do you prevent these becoming circular? Is it as simple as checking the new value against the current value when the member variable update function is called, and only sending a signal to update the UI if there is a difference?

Or...is there a more elegant way of doing this?

0 投票
0 回答
1202 浏览

c++ - 信号槽不工作

我以前使用过信号和插槽,从未遇到过任何问题,但现在我建立的新连接无法正常工作。我不明白我做错了什么。

这是我的 Listener.hpp:

这是我的 Listener.cpp:

我使用Controller该类连接所有信号 - 我的应用程序中的插槽和其他一些东西。

简而言之,这是我的 Controller.hpp (这个类有很多方法,信号 - 插槽,它们与这个问题无关,所以我没有提到它们):

我通过以下方法连接所有信号 - 插槽:

waitForCommands()这个类中还有方法:

我像这样连接了我项目的所有插槽和信号,它们都在工作,但不是这个。我该如何解决?

0 投票
1 回答
13494 浏览

qt - Qt 按钮信号和插槽

我几乎是 Qt 的初学者。无论如何,一旦按下按钮,我就会尝试使用信号和插槽来显示小部件。我创建了小部件,并完成了 connect() 事情,但是我在 SLOT() 事情中放了什么?我试过 show(widget),但老实说我不知道​​该放什么。

0 投票
1 回答
581 浏览

c++ - 检查 QVariantAnimation 是否完成?

我有一个派生类QVariantAnimation,我必须在动画完成后运行代码。

我尝试了信号finished(),但没有发出:

有没有其他意见看看是动画停止了,还是信号的使用不对?

编辑:使用代码

头文件:

0 投票
2 回答
5410 浏览

qt - 将信号连接到 Qt 中允许的参数较少的插槽?

调用是否有效

没有参数?它似乎有效(没有抛出运行时异常),但我在文档中找不到参考。我所发现的是,如果 someslot 有一个默认参数,这是可能的。在这种情况下是有效的。但是我的方法 someslot 的参数集与默认值不同(示例中没有参数)。

那么似乎可以将信号连接到参数较少的插槽?

0 投票
1 回答
396 浏览

c++ - Qt C++ 自定义插槽

我在 Qt 中制作自定义插槽时遇到了麻烦。代码:

类.h文件:

main.cpp 文件:

它给了我一条消息,说 load 不是公认的成员。我需要改变什么?

编辑:继承人完整的 webview.h 文件:

0 投票
2 回答
21396 浏览

qt - Qt将信号连接到插槽

我有一个包含 QSplitter 小部件(以及其他小部件)的主窗口类。此拆分器的内容由另一个类中的小部件填充。

在这个其他 Widgwt 中,我有一个布局,其中添加了一个名为 test_btn 的 QPushButton 我还在名为 test_function 的头文件中定义了一个函数,该函数在public slots:cpp 文件中有相应的代码:

我尝试使用以下代码调用此函数:

小部件和按钮在应用程序中按预期显示,但是当我单击它时没有任何反应。

如果我将相同的connect代码添加到主窗口它可以工作(用于从主窗口调用测试函数)即

我不能从其他类调用测试函数,除非我从main_win_test_function()

我知道我错过了连接语句中的“接收器小部件”,尽管它在主窗口类中没有它确实可以工作,并且在编译时我没有收到任何错误。

我是否需要在 中定义父级或其他内容other_class

主窗口.cpp:

其他类.cpp:

主.cpp:

正如我上面提到的,就创建窗口和显示的小部件而言,这一切都很好,但是当我单击按钮时不会调用 test_function。让我知道是否还需要包含我的头文件。