C++ QWidget(qlineedit)自动调整内容大小
下面的代码成功地根据需要自动调整QLineEdit字段的大小(基于动态文本的新宽度/高度)。现在,为了使调整大小的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
adjustsize()
我的代码中的相关元素:
void theContainer::resize_to_content(QString text) {
{
// ...
lineedit.setFixedSize(calcualtedWidth, calculatedHigh);
theContainer::adjustSize();
}
遇到的问题是,即使QLineEdit和父窗口小部件的大小调整都能正常工作(在某种程度上),这种情况下的限制是QLineEdit在调整大小后与相邻窗口小部件重叠!
看起来容器小部件——当它调整时——似乎忽略了其他未被操纵的子项。。。
是否有系统的方法来防止这种重叠??我是说,不仅仅是一个解决办法
--调整前的小部件
--文本更改和大小调整后的小部件:
我确信使用Qt专门为布局管理提供的类将有所帮助 看 如果不能,我认为您可以调整整个窗口的大小以获得更多空间,而不仅仅是父窗口小部件。请注意,adjustsize()实际上就是这样做的(调整整个窗口的大小)。