将现有的一组QpushButton转换为单个阵列 我是QT和C++两个初学者,请原谅我。

将现有的一组QpushButton转换为单个阵列 我是QT和C++两个初学者,请原谅我。,c++,qt,C++,Qt,我正在写一个桌面日历应用程序。我有42个按钮用于显示日数,当单击时,将显示一个编辑字段以添加注释。这些按钮已经制作好并安装到位。它们都可以工作,但为了便于编码,我想将它们组成一个数组。谁能建议我怎么做?我已经搜索了文档,但我并不真正理解它 提前感谢您的支持。您可以创建一个数组或任何其他容器(如QVector)的小部件(指向小部件的指针),将所有这些小部件聚集在一个地方。您既可以创建新对象,也可以指定现有对象,即: QVector<QPushButton*> buttons; butt

我正在写一个桌面日历应用程序。我有42个按钮用于显示日数,当单击时,将显示一个编辑字段以添加注释。这些按钮已经制作好并安装到位。它们都可以工作,但为了便于编码,我想将它们组成一个数组。谁能建议我怎么做?我已经搜索了文档,但我并不真正理解它


提前感谢您的支持。

您可以创建一个数组或任何其他容器(如QVector)的小部件(指向小部件的指针),将所有这些小部件聚集在一个地方。您既可以创建新对象,也可以指定现有对象,即:

QVector<QPushButton*> buttons;
buttons.append(new QPushButton());

使用如下所示的Qvector:

QVector<QPushButton*> btns;
btns.append(oldbuttonname);

您是否在Creator的表单编辑器中手动将按钮放置到它们的位置?我想说,使用a应该会对您有所帮助,您可以将每个按钮
.append()
,并使用
.at
.operator[]
操作符和每个元素的成员函数进行访问。非常好。非常感谢你。是的,这些按钮是用Qt设计器手动输入的。我相信我现在能把它分类了。再次感谢。请单击左侧的复选标记图标,将此答案标记为正确,以便其他人可以看到此答案是正确的。单击时图标将变为绿色。@ArnavBorborah,使用QVector构造大小并通过
[]运算符添加赋值元素,或者只创建空白容器,然后使用
.append()
。你不希望向量中有84个元素,是吗?@MateuszKwasniak我修正了错误,谢谢你指出了这一点。我想我没注意。
buttons[0]->height = 50;
buttons[1]->setVisible(false);
QVector<QPushButton*> btns;
btns.append(oldbuttonname);
QVector<QPushButton*> btns(42);
for (int i=0;i<btns.size();i++)
{
    btns[i] = new QPushButton(/*constructor args*/);
}
//Access like this
btns[0]->member_name();