C++ QWidget(qlineedit)自动调整内容大小

C++ QWidget(qlineedit)自动调整内容大小,c++,qt,layout,C++,Qt,Layout,下面的代码成功地根据需要自动调整QLineEdit字段的大小(基于动态文本的新宽度/高度)。现在,为了使调整大小的QLineEdit适合容器小部件,我在容器小部件上执行adjustsize() 我的代码中的相关元素: void theContainer::resize_to_content(QString text) { { // ... lineedit.setFixedSize(calcualtedWidth, calculatedHigh); theContainer::adjustSiz

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

我的代码中的相关元素:

void theContainer::resize_to_content(QString text) {
{
// ...
lineedit.setFixedSize(calcualtedWidth, calculatedHigh);
theContainer::adjustSize();
}
遇到的问题是,即使QLineEdit和父窗口小部件的大小调整都能正常工作(在某种程度上),这种情况下的限制是QLineEdit在调整大小后与相邻窗口小部件重叠! 看起来容器小部件——当它调整时——似乎忽略了其他未被操纵的子项。。。 是否有系统的方法来防止这种重叠??我是说,不仅仅是一个解决办法

--调整前的小部件

--文本更改和大小调整后的小部件:


我确信使用Qt专门为布局管理提供的类将有所帮助

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

请注意,adjustsize()实际上就是这样做的(调整整个窗口的大小)。