QDockWidget布局设置(大小、停靠方式、背景色)

QT版本:Qt 5.5.1 (MSVC 2013, 32 bit)
Qt Creator版本:Qt Creator 3.5.1 (opensource)
系统:win10

最近需要做qt界面布局,稍微研究了一下QDockWidget,写了个例子,如下:

//实例化两个QDockWidget
dock1 = new QDockWidget;
dock2 = new QDockWidget;
//设置标题名字
dock1->setWindowTitle("dock1");
dock2->setWindowTitle("dock2");
//设置背景黑色
QPalette pal;//定义一个QPalette
pal.setColor(QPalette::Background, Qt::green);
dock1->setAutoFillBackground(true);//加这句,下面设置颜色时,可以设置标题和控件主体的颜色,否则只能设置标题栏的颜色,
dock1->setPalette(pal);
pal.setColor(QPalette::Background,Qt::blue);
this->addDockWidget(Qt::LeftDockWidgetArea,dock1);//让dock1停靠在主界面的左边
dock2->setAutoFillBackground(true);
dock2->setPalette(pal);
//排列控件dock1和dock2
splitDockWidget(dock1,dock2,Qt::Horizontal);//让dock1和dock2水平排列,dock1在左,dock2在右
splitDockWidget(dock1,dock2,Qt::Vertical);//让dock1和dock2垂直排列,dock1在上,dock2在下
//设置控件dock1和dock2的大小,如果想让dock1占空间多一点,dock2占空间少一点,可以把dock1的最大最小值都设置的偏大一点,而吧dock2的都设置小一点
dock1->setMaximumSize(300,800);//注:最好让dock1的最大值+dock2的最大值 = 主界面的大小
dock1->setMinimumSize(300,600);
dock2->setMaximumSize(300,480);
dock2->setMinimumSize(300,280);

运行结果如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43935474/article/details/90768885