如何在 Qt 设计器中使控件自动调整大小?
Posted
技术标签:
【中文标题】如何在 Qt 设计器中使控件自动调整大小?【英文标题】:How do I make controls autosizing in Qt designer? 【发布时间】:2009-02-12 15:29:12 【问题描述】:我正在将 Qt Jambi 4.4 用于我正在处理的项目(并在 Qt Designer eclipse 插件中设计窗口)。我想使用的窗口之一是预览窗口,它基本上只是一个带有 QWebView 的窗口。我怎样才能使 QWebView 像窗口一样调整大小?我已将 sizePolicy 设置为水平和垂直位置的扩展。我还需要做什么?
(还请记住,我是 Java 和 eclipse 的新手,需要在这两个主题上用愚蠢的人说话)
更新
为了说明这一点,这里有几个屏幕截图(我将窗口背景设置为明亮只是为了说明我的观点):
alt text http://img13.imageshack.us/img13/2103/screenshot2oi7.jpg
alt text http://img152.imageshack.us/img152/6250/screenshot1mz9.jpg
【问题讨论】:
【参考方案1】:我不知道 Jambi,但是使用 Qt Designer 只需将焦点放在背景上,然后从工具栏应用布局。然后主小部件将由该布局管理器调整大小 - 如果您不添加该布局管理器,您将获得小部件调整大小但内容保持在其旧位置。
【讨论】:
【参考方案2】:我没有使用过 qt-jambi,但如果它是 C++ 或 PyQt 中的 Qt,QWebView 会随着窗口大小的变化而自动调整大小。据我所知,设置大小策略/扩展因子、添加 QSpacerItem 对象等只有在大小调整行为不正常时才需要。只需在预览窗口中使用适当的布局进行布局就足够了。如果我误解了这个问题,请告诉我。
【讨论】:
【参考方案3】:您需要将 QWebView 放置在布局中,它会跟随其“容器”中的更改。使用 Qt Designer 进行布局,参考http://doc.trolltech.com/4.5/designer-layouts.html
【讨论】:
【参考方案4】:来自 Qt Designer 文档:
可以通过清除选择来设置表单的顶层布局 (在表单本身上单击鼠标左键)并应用 布局。顶层布局是必要的,以确保您的小部件 调整窗口大小时会正确调整大小。
【讨论】:
以上是关于如何在 Qt 设计器中使控件自动调整大小?的主要内容,如果未能解决你的问题,请参考以下文章