c++ - QGridLayout 中的 Qt 空白列?

标签 c++ qt layout

我有以下代码,我在 QGridLayout 中放置了一个按钮和一个文本框。请注意,我使用第 3 列和第 4 列来放置它们。

    QGridLayout *insAddPanel = new QGridLayout();
    {
        QLineEdit* ledInstrumentName = new QLineEdit();
        insAddPanel->addWidget(ledInstrumentName, 0, 3);

        QPushButton* btnAddInstrument = new QPushButton();
        btnAddInstrument->setText("Add");
        insAddPanel->addWidget(btnAddInstrument, 0, 4);
    }
    mainLayout->addLayout(insAddPanel);
    ......

但是当我运行这个时,我得到了这样的东西:

enter image description here

我希望文本编辑和按钮仅占据可用水平空间的 2/5。这就是我将它们放在第 3 和第 4 列的原因。由于这不起作用,我该如何完成? Qt 中有类似空白小部件的东西吗?我搜索了但没找到。

最佳答案

使用void QGridLayout::setColumnStretch ( int column, int stretch ) .

您可以为所有列设置 stretch = 1。它将提供您想要的 View 。

关于c++ - QGridLayout 中的 Qt 空白列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21824772/

相关文章:

java - 需要来自整个组合层次结构的数据的操作模式

c++ - 条件 std::future 和 std::async

macos - Qt 4.8.5 Mac 处理拖放到扩展坞图标上的文件

c++ - 使用 QQmlComponent 专门化 std::default_delete

java - JFrame布局管理

c++ - 如何处理运行时在对象上定义的不同操作

c++ - if else if,代码只解析到else条件

c++ - QSystemSemaphore::acquire() 中止

templates - 如何在 Symfony 布局中获取 _locale 变量?

ios - 在约束属性中找不到为 UIView 创建的约束