如何在 QVBoxLayout 上添加/重复相同的小部件

问题描述 投票:0回答:1

接下来的代码只显示按钮的

one
实例;

VBoxLayout * layout = new QVBoxLayout(widget);
QPushButton * btn1 = new QPushButton("1", this);

layout->addWidget(btn1);
layout->addWidget(btn1);
layout->addWidget(btn1);

但我预计它会重复 3 次;

c++ qt qwidget
1个回答
0
投票

一个小部件只能有一个父级,如果您尝试将它添加到应用程序对象树的多个位置,则不会重复。

此外,尝试多次添加同一个按钮并没有多大意义:大概你想点击每个按钮来做不同的事情。

您应该改为创建三个单独的按钮:

QVBoxLayout * layout = new QVBoxLayout(widget);
QPushButton * btn1 = new QPushButton("1", this);
QPushButton * btn2 = new QPushButton("1", this); //or likely with a "2" label
QPushButton * btn3 = new QPushButton("1", this); //ditto for "3"

layout->addWidget(btn1);
layout->addWidget(btn2);
layout->addWidget(btn3);
© www.soinside.com 2019 - 2024. All rights reserved.