问题描述
我正在创建一个基于 Qt Widget 的应用程序,我希望能够在运行时使用按钮(QPushButton)将对象添加到 std::list(存储某个类的对象)。 有没有办法通过引用传递这个列表,以便我可以在其中存储创建的对象?
AFAIK 没有办法使用 connect(Object1,signal,Object2,slot),因为 slot 不能有任何参数。
如果我不能按照我解释的方式做到这一点,我该如何实现?
解决方法
如果没有更多的上下文,就很难确切地知道您想要达到的目标,但是...给定一个变量 objects
定义如下...
std::list<QObject *> objects;
您可以将按钮的 clicked
信号连接到 lambda
,后者通过引用...
objects