您的位置:首页 > 产品设计 > UI/UE

Qt拖拽界面 (*.ui) 缩放问题及解决办法(在最顶层放一个Layout)

2017-01-05 16:14 876 查看

问题

使用Qt Designer 设计的界面,在缩放的时候不能随着主窗口一起缩放。



解决办法

之前遇到这个问题的时候,都是直接重写
resizeEvent
接口来实现的,在自动生成的
Ui_Widget
Ui_MainWindow
等类中会有一个
widget
或者
centerWidget
的成员,所有的拖拽出的控件都是在这之上的。只需要把
resizeEvent
传递给它即可。

这种方式虽然解决了问题,但是总是不太理想,还需要去改代码。

好的解决办法

其实中问题不需要去改代码,既然所有的拖拽出的控件都在一个
widget
上,而这个
widget
是不会随着调用
ui->setupUi(this);
的窗口一起缩放的,因为它们只有父子对象关系,而没有使用到布局空间。
这里只需要在
Qt Designer
中选择设计界面的
顶级对象
,然后右键单击,在
布局
选项中选择一个你想要的布局即可。这样之后,
moc
生成的
Ui_XXXX
类中会有一个
xxxxlayout
对象,所有控件都会加载到这个
Layout
上(替代了原本的
widget
)。这里生成的
xxxxxlayout
与选择的布局有关系。






http://www.cnblogs.com/oloroso/p/6092870.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: