【问题标题】:QWidget (a qlineedit) auto resize to contentQWidget (a qlineedit) 自动调整大小到内容
【发布时间】:2018-03-24 21:21:39
【问题描述】:

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

我的代码中的相关元素:

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

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

-- 调整前的小部件

--文字改变和大小调整后的小部件:

【问题讨论】:

    标签: c++ qt layout


    【解决方案1】:

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

    Qt documentation on layout

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

    【讨论】:

    • 请注意,adjustsize() 实际上是这样做的(调整整个窗口的大小)。
    猜你喜欢
    • 2015-07-13
    • 2015-02-13
    • 2019-10-31
    • 1970-01-01
    • 1970-01-01
    • 2011-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多