编写更美观的QT程序——使用布局
在基于QT编写应用程序的界面时,我们可以使用控件的setGeometry()方法设置控件相对于父控件的位置,并调整大小。在父控件中重写resizeEvent()在父控件发生大小改变时重新用setGeometry()设置子控件位置,就可以实现子控件自适应父控件大小改变。
以上方法灵活性有余但编程效率低,使用Qt布局可以让Qt布局自动完成在父控件大小改变时调整子控件大小位置的工作,降低了编程难度,然而如果子控件灵活性较大有复杂的动态行为的话Qt自有布局就乏力了,还有在QSrollArea之类的滚动区域中,其widget控件不自适应父控件大小,不能用Qt布局,用setGeometry()设置widget位置即可。当然也可以继承自QLayout自定义layout,本文只介绍Qt自带layout的使用
同时,Qt提供了QSpacerItem来填充布局
可以在设计模式中使用QLayout布局,也可以在代码中使用,在代码中更加灵活,可以有动态行为
目录
在设计模式中使用QLayout
在代码中使用布局
在设计模式中使用QLayout
从左侧
共有 0 条评论