如何制作小部件的QVector?

Cha*_*rns 2 qt qt4 qwidget qvector

如何使一个QVector小部件,如动态数的(或其他容器类),QPushButtonQComboBox在Qt的4?

我在我的窗口类的构造函数中使用了以下内容:

QVector<QComboBox*> foo; // Vector of pointers to QComboBox's
Run Code Online (Sandbox Code Playgroud)

现在我想用一些可以动态改变的控件来填充它:

for(int count = 0; count < getNumControls(); ++count) {
    foo[count] = new QComboBox();
}
Run Code Online (Sandbox Code Playgroud)

我搜索了几个小时试图找到答案.Qt论坛提到了一个QPtrList,但Qt4中不再存在该类.我稍后尝试使用数组样式索引或.at()函数从每个文本中获取文本值.

我非常感谢声明,初始化,和填充的任何任何数据结构的一个例子QWidgets(QComboBox,QPushButton等)

bgs*_*bgs 10

干得好 :)

#include <QWidget>
#include <QList>
#include <QLabel>
...
QList< QLabel* > list;
...

list << new QLabel( parent, "label 1" );
..
..

foreach( QLabel* label, list )  {
label->text();
label->setText( "my text" );
}
Run Code Online (Sandbox Code Playgroud)

如果您只想让一个简单的示例工作,那么您的小部件具有父级(用于上下文/清理)的目的非常重要.

希望这可以帮助.