qt拖拽控件与手写控件调用

Qt官方有三种方式对窗体上的控件进行布局管理,Absolute Positioning(绝对位置定位)、Manual Layout(手工布局)、Layout Managers(布局管理器)。

①绝对位置定位:默认拖拽的控件是采用这种方式,这种方式优势时所见即所得,在qt designer里可阅读性非常高,控件是采用setGeometry设置水平,高度,长和宽。

②手工布局:当有自定义部件时使用此布局,须使用QWidget::sizeHint() 、QWidget::minimumSizeHint()、QWidget::updateGeometry()等函数不断计算大小变化;

 ③布局管理器:布局管理器有五种,QVBoxLayout(垂直布局)、QHBoxLayout(水平布局)、QGridLayout(网格布局)、QFormLayout(表单布局)和 QStackedLayout(分组布局)这种五种布局方式不作讨论,这些布局方式熟悉后控件放入都可以布局,但在qt designer使用时可读性变差。

以下讨论的是不采用以上不采用布局管理器也就是说使用绝对位置定位方式(默认):

 如上图,一个进度条和一个滑块,在滑块拖动时,进度条跟着变化,以上控件均为拖拽出来的控件,假设我们需要new一个label,并且背景设为白色,然后将这两个控件放入,如下图仅5行代码:

猜你喜欢

转载自blog.csdn.net/yanchenyu365/article/details/130490497
今日推荐