QWidget(qlineedit)自动调整内容

时间:2017-10-12 20:09:47

标签: c++ qt layout

以下代码成功地根据需要自动调整QLineEdit字段的大小(基于动态文本的新宽度/高度)。现在,为了使调整大小的QLineEdit适合容器小部件,我在容器小部件上执行adjustsize()

我的代码中的相关元素:

void theContainer::resize_to_content(QString text) {
{
// ...
lineedit.setFixedSize(calcualtedWidth, calculatedHigh);
theContainer::adjustSize();
}

遇到的问题是,即使QLineEdit和父窗口小部件的两次调整都有效(在某种程度上),在这种情况下的限制是调整大小后QlineEdit会重叠相邻的窗口小部件! 它看起来像容器小部件 - 当它调整 - 似乎忽略其他非操纵的孩子...... 有没有系统的方法来防止这种重叠?不仅仅是我的意思。

- 调整前的小工具

enter image description here

- 文字更改和尺寸调整后的小部件:

enter image description here

1 个答案:

答案 0 :(得分:1)

我非常确定使用Qt专门为布局管理提供的类会有所帮助。

请参阅Qt documentation on layout

如果它不胜,我认为您可以调整整个窗口的大小以获得更多空间,而不仅仅是父窗口小部件。