QT 停靠窗口

记录第一次写博客(一位帅气的小哥哥同事推荐的,哈哈哈哈哈哈)

作为一个同时用过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你想怎么布置就怎么布置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值