Qt QGridLayout - 删除项目间距

 zhuyiming69751 发布于 2022-12-25 11:38

我正在尝试在Qt中编写战舰的实现,我正在使用两个QGridLayouts来包含用于表示玩家网格的QToolButtons.顶级布局(QMainWindows one)是QHBoxLayout.我想要完成的是删除这些按钮之间的间距.这就是它当下的样子:

格

它绝对不漂亮.我在这些布局中添加项目,如下所示:

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);
    }
}

我可以尝试使用垫片,但它们会留下空白点,这也是不可取的.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有