私はQtでアプリケーションを作成します。 mainwindow.cppには別のウィジェットを表示するフレームがあります。このウィジェットはQPushButtonによってコードビハインド(データベース内のデータ)で埋められます。最大ボタン数は8本のコードでデータベースからボタンを作成:なぜグリッドレイアウトに追加された動的ボタンには、相互に大きな距離がありますか?
for(int i = 0; i < btnlst.count(); ++i)
{
QPushButton *b = new QPushButton(this);
//b->setGeometry(0,10,100,100);
b->setStyleSheet("background-color: qlineargradient(spread:pad, x1:1, y1:0.682, x2:1, y2:0, stop:0.142857 rgba(220, 0, 22, 255), stop:0.980296 rgba(216, 74, 73, 255), stop:1 rgba(217, 73, 73, 255));border:none ;color:white;");
b->setText(btnlst[i]);
if(mood=="Frame")
{
QSize size(55,55);
b->setMinimumSize(size);
b->setMaximumSize(size);
b->setSizePolicy(QSizePolicy(QSizePolicy::Maximum,QSizePolicy::Maximum));
ui->gridLayout->addWidget(b,0,i,Qt::AlignVCenter);
}
else
{
QSize size(70,70);
b->setMinimumSize(size);
b->setMaximumSize(size);
b->setSizePolicy(QSizePolicy(QSizePolicy::Maximum,QSizePolicy::Maximum));
if(i<4)
ui->gridLayout->addWidget(b,0,i,Qt::AlignVCenter);
else
ui->gridLayout->addWidget(b,0,i-3,Qt::AlignVCenter);
}
//after creates buttons
connect(b,SIGNAL(clicked()),this,SLOT(Function()));
btn << b;
}
ui->gridLayout->setSpacing(0);
Iは、最大(750150)と最小値(600150)を用いて、ウィジェットのサイズを固定しました。これは私のウィジェット(私がメインウィジェットに垂直レイアウトを使用)です:
これは組み込みデバイスに私の結果である:あなたが、私はウィジェットとセットグループボックス白色の黒い色を設定見たよう
。黒色はフレームに表示されず、各ボタンの間に多くのスペースがあります。私は8つのボタンを作成しますが、私のフレームには5つのボタンだけを表示します。
どのように各ボタン間のスペースを減らすことができますか?