【问题标题】:Centering a button spanning muliple columns in a QGridLayout在 QGridLayout 中将跨越多列的按钮居中
【发布时间】:2011-07-07 11:25:10
【问题描述】:

我有一个跨越网格布局中两列的按钮。该按钮大约是其单元格宽度的一半,我希望它居中。

gridLayout->addWidget(btn3, 2, 6, 1, 2);

对齐单元格左侧的按钮,我认为这是默认设置。我试过了

gridLayout->addWidget(btn3, 2, 6, 1, 2, Qt::AlignHCenter);

按钮消失。我的按钮去哪里了,为什么它不在我的布局单元的中心?

我在 Linux (ubuntu 10.04) 中使用 QT opensoure。

一点上下文:

gridLayout->addWidget(btn1, 2, 3);
gridLayout->addWidget(btn2, 2, 5);
gridLayout->addWidget(btn3, 2, 6, 1, 2);
gridLayout->addWidget(btn4, 2, 8);
gridLayout->addWidget(btn5, 2, 10);

我希望 btn3 位于其两列跨单元格的中心,但是当我尝试将 Qt:AlignCenter 作为 addWidget() 方法中的第 6 个参数传递时,btn3 消失了。

【问题讨论】:

    标签: qt button qt4 alignment grid-layout


    【解决方案1】:

    您使用的 ColumnSpan 为 2,您的按钮可能位于 gridLayout 的其他一些小部件下。尝试将您的代码更改为:

    gridLayout->addWidget(btn3, 2, 6, 1, 1, Qt::AlignCenter);
    

    对我来说效果很好。

    【讨论】:

    • 我已经通过添加一些上下文来编辑上述问题。我故意希望单元格 btn3 跨越两列。
    • 你能添加更多代码吗?我创建了一个新布局,我按照您指定的方式添加了按钮,并且按钮 b3 出现并在我的布局中居中。
    猜你喜欢
    • 2017-11-23
    • 1970-01-01
    • 2021-07-30
    • 2020-08-26
    • 1970-01-01
    • 2017-04-19
    • 2015-02-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多