问题标签 [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 回答
283 浏览

c++ - 如何通过插件机制在运行时动态加载数据类型

由于 Qt 不允许在其插槽中使用模板,因此我尝试执行以下解决方案但没有成功。

首先 a 想创建一个这样的列表:

Dashboard 0 和 1 都是从小部件派生的

假设您有一个QListWidget我们在列表中添加字符串然后进行连接的位置:

我将如何像在 C# Type 中一样创建该列表和存储类型?

0 投票
2 回答
30424 浏览

qt - Qt 使用 QueuedConnection 将两个信号连接在一起

Qt文档指出可以将两个信号连接在一起:

甚至可以将一个信号直接连接到另一个信号。

我试过:

它的工作原理如前所述,但 Qt 文档仍在继续:

(这将在第一个信号发出时立即发出第二个信号。)

这是否意味着 QueuedConnection 将无法正常工作?我可以跨线程连接两个信号吗?

我问这个的原因是因为我通过避免这种情况解决了应用程序上的一类崩溃,但我不确定这是否与将信号连接在一起有关。

0 投票
1 回答
99 浏览

qt - 在 QT 问题中连接 - 没有连接?

我有一个从 QGraphicsPixmapItem 派生的自定义类。它称为 GraphPixmapItemCustom ,它的重载方法是:

信号在标题中声明:

在具有指向类 GraphPixmapItemCustom 对象的指针的主类中

在主类中,我有一个名为:

在主类构造函数中,我有一个连接:

在插槽中我只有qDebug("YUPPY IT ACTUALLY WORKS!");

但是该插槽没有被解雇。为什么?我已经删除了所有 moc 文件和所有不需要的东西。所以只有.pro,.h.cpp文件以及需要.ui留下的表格。

我检查了谷歌的大多数点击。什么是最好的(我不确定 - 也许我修改了一些东西)它起作用了!我记得这种连接的工作效果。帮助!

0 投票
1 回答
3530 浏览

qt - 在 QTextEdit 子类中连接信号和插槽?

我从 QTextEdit 派生了一个类并将其用作“日志”。我为它配备了一个插槽来接收日志消息。

};

然后另一个类发出这样的信号:

我也将信号连接到插槽

但是,该消息从未显示在“日志”中。我在这里想念什么?

已解决:发出信号后调用连接方法:-(

0 投票
2 回答
269 浏览

multithreading - 带有线程类的 Qt 信号和槽

我有一个显示表格、计算数据等的 QWidget TableView 类...

在它的构造函数中,我启动了该类的 FortuneServer 服务器:

此类在 FortuneServer::incomingConnection 上启动一个新线程,如下所示:

我需要执行以下操作:

  1. 我需要连接从客户端在此线程中获得的字符串,与 TableView 类中的某个函数计算另一个字符串并将其返回到该线程并将其发送到客户端。

  2. 如果我从线程使用发射,我如何让线程等待结果?

这是如何正确完成的?

0 投票
1 回答
578 浏览

qt - 必须按 QPushbutton 两次

我想在 QT 中列出工具按钮。工具按钮应出现在 scollarea 中。单击按钮时应显示此列表。我已经编写了代码并且它可以工作,除了我必须按下按钮两次才能让列表出现。这是我的代码:

所以当我按下“find_btn”时,应该会出现里面有按钮的滚动区域。目前出现带有按钮的滚动区域,但只有在我单击“find_btn”两次之后。

我想我必须更新滚动区域或类似的东西。也许连接导致问题?有人可以帮忙吗?

0 投票
4 回答
10299 浏览

qt - 一个插槽的多个信号

对于我的 GUI,我希望有两对按钮可以上下滚动滚动区域。第一组按钮应该在 scrollarea1 上工作,第二组按钮应该在 scrollarea2 上工作。我放入滚动区域的小部件称为 viewport1 和 viewport2。由于两组按钮都应该执行相同的操作(向上和向下滚动),我想我会制作两个名为 scrollUp 和 scrollDown 的插槽来处理两组按钮的滚动。不幸的是,我无法完成这项工作,需要一些帮助。我尝试了以下方法:

但这不起作用有几个原因。我还尝试为插槽提供一些参数,例如:

但同样,没有成功。有谁能够帮助我?

0 投票
1 回答
818 浏览

lambda - PyQt QObject.connect(instancemethod) 和 QtCore.connect(Qobj, SIGNAL(), instancemethod) 与 lambda 函数的行为不同

在从字符串列表中创建 PyQt 菜单的后续操作中,我还在动态创建菜单并想知道单击了哪个菜单项。因此,我使用了一段代码,例如:

输出:

项目:假(默认的“布尔”参数,如 Qt 文档中针对触发()信号所述)

正如我认为与 connect(object, SIGNAL(...), slot) 相比,object.connect() 是“新”形式。我也可以更好地工作,因为可以在编译时检查信号名称。但是,它没有用。我得到的只是'bool = false'(如触发()的Qt文档中所述)。所以在搜索后遇到了上面提到的网址。不,我有这个:

这给出了(单击菜单一次):

项目:假(action.triggered.connect(l) 行,错误) 项目:一(self.connect 行,对)

为什么这两个行为不同?我以前从未注意到这两种连接之间有什么区别,直到我使用了这个 lambda 构造。

0 投票
1 回答
533 浏览

qt - Qt:每次 QTableWidget 更改其几何形状时执行一个槽?

我制作了一个从 QTableWidget 派生的小部件,并且每次调整列或行的大小以及每次调整小部件的大小时,我都想执行一个插槽。由于没有信号,该怎么做?

非常感谢你。

0 投票
1 回答
219 浏览

qt - 为 QMenu 创建自定义槽

我是 Qt 世界的新手)
我在 MSVC 2008 中创建了一个新的 Qt 应用程序,
使用 Qt Creator 添加了我需要的控件,其中一个是 QMenuBar
因为我理解 CallBack(C#) 的等价物是 Qt 中的插槽。
我找不到任何信息如何使用 Qt Creator 为 QMenu 创建自定义插槽。