Qt'de bir savaş gemisi uygulaması yazmaya çalışıyorum ve oyuncuların ızgaralarını temsil etmek için kullanılan QToolButtons'u içermek için iki QGridLayouts kullanıyorum. Üst düzey düzen (QMainWindows one) bir QHBoxLayout'tur. Yapmak istediğim, bu düğmeler arasındaki boşlukları kaldırmaktır. Bu şu anda bakıyor nasıl:Qt QGridLayout - öğe aralığını kaldırma
Kesinlikle hoş değil. Böyle bu düzenleri içine öğeleri ekliyorum:
QIcon icon;
icon.addFile(QStringLiteral(":/images/Resources/field_blue.png"), QSize(), QIcon::Normal, QIcon::Off);
for (int i = 0; i < dimensions; ++i)
{
for (int j = 0; j < dimensions; ++j)
{
QToolButton* buttonLeft = new QToolButton(this);
buttonLeft->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
buttonLeft->setText(QString::number(i) + "-" + QString::number(j));
buttonLeft->setFixedSize(FIELD_ICON_SIZE + 10, FIELD_ICON_SIZE + 10); // FIELD_ICON_SIZE -> 20
buttonLeft->setIcon(icon);
buttonLeft->setIconSize(QSize(FIELD_ICON_SIZE, FIELD_ICON_SIZE));
buttonLeft->setAutoRaise(true);
QToolButton* buttonRight = new QToolButton(this);
buttonRight->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
buttonRight->setText(QString::number(i) + "-" + QString::number(j));
buttonRight->setFixedSize(FIELD_ICON_SIZE + 10, FIELD_ICON_SIZE + 10);
buttonRight->setIcon(icon);
buttonRight->setIconSize(QSize(FIELD_ICON_SIZE, FIELD_ICON_SIZE));
buttonRight->setAutoRaise(true);
_ui.gridLayoutLeft->addWidget(buttonLeft, i, j);
_ui.gridLayoutRight->addWidget(buttonRight, i, j);
}
}
Ben ara parçalar kullanmayı deneyin ama onlar da arzu değil boş noktalar bırakın.
QGridLayout :: setSpacing (0) '? –
@RetiredNinja Şimdi böyle görünüyor - http://i.imgur.com/Of7Qjf7.png – Venom
Amacınız nedir? – mhcuervo