连接按钮以在 Qt C++ 中创建和存储对象
Connecting button to create and store an object in Qt C++
我正在创建一个基于 Qt Widget 的应用程序,我希望能够在运行时通过使用按钮 (QPushButton) 将对象添加到 std::list<>(存储某些 class 的对象) .
有什么方法可以通过引用传递此列表,以便我可以在其中存储创建的对象吗?
据我所知无法使用 connect(Object1, signal, Object2, slot),因为 slot 不能有任何参数。
如果我不能按照我解释的方式做到这一点,我该如何实现?
如果没有更多的上下文,很难确切地知道你想要实现什么但是......给定一个变量 objects
定义如下......
std::list<QObject *> objects;
您可以将按钮的 clicked
信号连接到 lambda
,后者通过引用捕获 objects
...
QObject::connect(&button, &QPushButton::clicked,
[&objects](bool checked)
{
/*
* Update objects here.
*/
});
我正在创建一个基于 Qt Widget 的应用程序,我希望能够在运行时通过使用按钮 (QPushButton) 将对象添加到 std::list<>(存储某些 class 的对象) . 有什么方法可以通过引用传递此列表,以便我可以在其中存储创建的对象吗?
据我所知无法使用 connect(Object1, signal, Object2, slot),因为 slot 不能有任何参数。
如果我不能按照我解释的方式做到这一点,我该如何实现?
如果没有更多的上下文,很难确切地知道你想要实现什么但是......给定一个变量 objects
定义如下......
std::list<QObject *> objects;
您可以将按钮的 clicked
信号连接到 lambda
,后者通过引用捕获 objects
...
QObject::connect(&button, &QPushButton::clicked,
[&objects](bool checked)
{
/*
* Update objects here.
*/
});