连接按钮以在 Qt C++ 中创建和存储对象

问题描述

我正在创建一个基于 Qt Widget 的应用程序,我希望能够在运行时使用按钮(QPushButton)将对象添加到 std::list(存储某个类的对象)。 有没有办法通过引用传递这个列表,以便我可以在其中存储创建的对象?

AFAIK 没有办法使用 connect(Object1,signal,Object2,slot),因为 slot 不能有任何参数。

如果我不能按照我解释的方式做到这一点,我该如何实现?

解决方法

如果没有更多的上下文,就很难确切地知道您想要达到的目标,但是...给定一个变量 objects 定义如下...

std::list<QObject *> objects;

您可以将按钮的 clicked 信号连接到 lambda,后者通过引用...

objects