2017-10-12 70 views
0

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

在我的代码相关要素:

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

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

- 调整

enter image description here

前小工具 - 小工具后文本的变化和大小的调整:

enter image description here

回答

1

我敢肯定,使用Qt专门为布局提供的类管理将有所帮助。

Qt documentation on layout

如果它不会,我想你可以调整整个窗口,以获得更多的空间,而不是唯一的父窗口部件。

+0

注意adjustsize()实际上是在做这个(调整整个窗口的大小)。 –