当您以编程方式添加 QWidget 时,初始化 QWidget 的最佳方式(位置)是什么?
我可以想办法做到这一点:
1) 在定义文件中创建实例,然后在初始化器列表中对其进行初始化。这似乎是正确的方法,但是您需要添加到窗口中的 QWidget 越多,它就会变得有点草率。
class SomeWindow : QDialog{
...
private:
QLabel label1;
QLabel label2;
...
}
SomeWindow::SomeWindow(...) : QDialog(...),
label('label1 text'), label('label2 text')
{
...
layout.addWidget(&label1);
layout.addWidget(&label2);
...
}
2)来自C#我倾向于喜欢这个,但它似乎会产生内存泄漏......
SomeWindow::SomeWindow(...) : QDialog(...)
{
QLabel* label1 = new QLabel('label1 text');
QLabel* label2 = new QLabel('label2 text');
...
layout.addWidget(label1);
layout.addWidget(label2);
...
}
有没有更好的方法来做到这一点,我错过了?
我为新手的问题道歉。