gpt4 book ai didi

Qt:如何禁用 QGridLayout 的 "shrink-to-fit"?

转载 作者:行者123 更新时间:2023-11-28 02:07:54 25 4
gpt4 key购买 nike

<分区>

我在 Windows7 上使用 Qt5。
在我当前的应用程序中,我尝试显示和删除一些按钮。

widget = new ButtonWidget(ui->frame); // frame is a QScrollArea
connect(ui->addBtns, SIGNAL(clicked()), widget, SLOT(addButtons()));
connect(ui->deleteBtns, SIGNAL(clicked()), widget, SLOT(deleteButtons()));

ButtonWidget 类在这里:

ButtonWidget::ButtonWidget(QWidget * parent) : QWidget(parent)
{
gridLayout = new QGridLayout(parent);
}

static QStringList texts{...}; // various content (see explanations below)

void ButtonWidget::addButtons()
{
for(auto i = 0; i < texts.size(); i++)
{
gridLayout->addWidget(new QPushButton(texts[i], this), i / 5, i % 5);
}
}

void ButtonWidget::deleteButtons()
{
while(gridLayout->count())
{
delete gridLayout->itemAt(0)->widget();
}
}

如果我设置 QStringList texts{"1\nok"}; 我得到这个:
enter image description here
...很难看(在所有布局上居中并水平扩展)。

如果我设置 QStringList texts{"1\nok",...,"24\nok"}; 我得到这个:
enter image description here
...这/看起来还不错。

最后,如果我设置 QStringList texts{"1\nok",...,"36\nok"}; 我得到这个:
enter image description here
...这是非常糟糕的,乱码等。

所以,问题是:有什么方法可以解决这个问题,即以某种方式禁用布局上的“缩小以适合”吗?默认按钮大小就可以了。
我想利用 QScrollArea 的垂直滚动功能,而不是在(有限的)可用空间中塞满所有按钮...

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com