第一步:准备工作。
1.1、一台安装了ubuntu1404以上版本系统的电脑(包含ubuntu1404)。
1.2、在ubuntu上安装Qt Creator(我的版本是Qt5.2.1)。
第二步:在Qt上实现vs界面布局。
2.1、打开Qt Creator,新建一个名字为Layout的工程
2.2 接着展开Forms标签,此时会看到一个MainWindow.ui文件
双击MainWindow.ui文件打开界面布局,往界面拖四个QDockWidget,WindowTitle分别命名为左栏、右栏、左下栏和右下栏
并分别在每个栏上放置一个QTextEdit
31 在MianWindow的构造函数添加一下代码
this->setWindowFlags(this->windowFlags() & ~Qt::WindowMinMaxButtonsHint);
//让BottomLeftCorner区域归属于LeftDockWidgetArea区域
this->setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea);
this->setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea);
int iType = 1;
if (iType == 1) //布局1
{
this->addDockWidget(Qt::RightDockWidgetArea, ui->dwLeft);
this->splitDockWidget(ui->dwLeft, ui->dwRight, Qt::Horizontal);
this->addDockWidget(Qt::BottomDockWidgetArea, ui->dwBottomLeft);
this->tabifyDockWidget(ui->dwBottomLeft, ui->dwBottomRight);
ui->dwBottomLeft->raise();//把QDockWidget做成tab,默认项目设置a
}
else if (iType == 2) //布局2
{
this->addDockWidget(Qt::RightDockWidgetArea, ui->dwLeft);
this->splitDockWidget(ui->dwLeft, ui->dwRight, Qt::Horizontal);
this->addDockWidget(Qt::BottomDockWidgetArea, ui->dwBottomLeft);
this->splitDockWidget(ui->dwBottomLeft, ui->dwBottomRight, Qt::Horizontal);
}
else if (iType == 3) //布局3
{
this->addDockWidget(Qt::LeftDockWidgetArea, ui->dwLeft);
this->addDockWidget(Qt::RightDockWidgetArea, ui->dwRight);
this->addDockWidget(Qt::BottomDockWidgetArea, ui->dwBottomLeft);
this->splitDockWidget(ui->dwBottomLeft, ui->dwBottomRight, Qt::Horizontal);
}
3.1.1 布局1的运行效果图
3.1.2 布局2的运行效果图
3.1.3 布局3的运行效果图
以上三种布局只是初始布局,程序运行以来后,用户可以任意拖动,放置自己喜欢的布局。