记录第一次写博客(一位帅气的小哥哥同事推荐的,哈哈哈哈哈哈)
作为一个同时用过MFC框架和QT框架开发过软件的程序员来说,强烈推荐使用QT!!!没有为什么!!!!
言归正传,复杂点的软件都不会单纯的一个界面,对于一款专业软件更是如此,先看结果

全局使用停靠窗口来划分界面,所以要去掉原本的中央窗体,而其中的图形和控制停靠窗口需要停靠在软件的中间区域,故需要setDockNestingEnabled(true)开启嵌套窗口
QWidget* p = takeCentralWidget(); if(p) { delete p; } setDockNestingEnabled(true);
,指针都是在头文件中定义好的,针对于项目窗口的停靠窗口步骤:
1,创建一个停靠窗口
m_dockfile = new QDockWidget("项目", this);
2,设定这个窗口的停靠属性,这里设置的不可移动、不可浮动、不可关闭
m_dockfile->setFeatures(QDockWidget::NoDockWidgetFeatures);
如果是不是设置为NoDockWidgetFeatures,则还需要
dock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);//设定这个停靠窗口的可停靠位置
也可以对窗口的大小进行设定
dock ->setFixedWidth(int w); dock ->setFixedHeight(int h); dock ->setFixedSize(int w, int h); dock ->setMinimumWidth(int minw); dock ->setMinimumHeight(int minh); dock ->setMinimumSize(int minw, int minh) dock ->setMaximumWidth(int maxw); dock ->setMaximumHeight (int maxh); dock ->setMaximumSize(int maxw, int maxh)
3,新建一个需要加入这个停靠窗口的窗体
m_widfile = new QTreeView();
4,将这个窗体加入停靠窗口
m_dockfile->setWidget(m_widfile);
5,按照上面的步骤设置完后这些停靠窗口后,就可以设置停靠窗口的位置,一般都是先水平,再垂直
addDockWidget(Qt::LeftDockWidgetArea,m_dockfile); splitDockWidget(m_dockfile,m_dockimage,Qt::Horizontal); splitDockWidget(m_dockimage,m_dockcode,Qt::Horizontal); splitDockWidget(m_dockimage,m_dockcon,Qt::Vertical);
反正就是用splitDockWidget和addDockWidget你想怎么布置就怎么布置。

5409

被折叠的 条评论
为什么被折叠?



