我对QLineEdit
内容有疑问。我创建了一个QVBoxLayout
元素,并使用addWidget(widget)
向布局添加了一些QLabel
或QComboBox
。除了QLineEdit
之外,大多数都可以正常工作,就像我在我发布的图片中看到的那样。 QLineEdit
只占整个窗口的一半空间。我的问题是如何防止这种情况? (我很确定这是QLineEdit
的问题,因为通过删除每个小部件来测试它们,没有QLineEdit
我将获得类似第一个图像的内容)
这些是添加QLineEdit
的代码。
m_qtLeftValue = new QLineEdit;
m_qtLeftValue->setText(m_leftValue.c_str());
m_qtLeftValue->setFixedWidth( 20 );
m_sidePaneLayout->addWidget(m_qtLeftValue, 4, 0, 1, 1);
其中m_sidePaneLayout
定义如下:
// add sidePane to UI
QWidget *sidePaneWidgetHolder = new QWidget(this);
m_sidePaneLayout = new QGridLayout(sidePaneWidgetHolder);
// add to m_gridLayout
m_gridLayout->addWidget(sidePaneWidgetHolder, 0, 3, 9, 1);
希望有人能帮我解决这个问题,谢谢!
答案 0 :(得分:0)
让您的sidePaneWidgetHolder
自定义类来自QWidget
并覆盖它sizeHint()
以返回合理的默认值,并set a sizePolicy
就可以了 - 您可能需要{{} 3}}作为垂直政策。