QT主窗口的停靠窗口实现
来源:互联网 发布:sql server2008百度云 编辑:程序博客网 时间:2024/05/18 20:36
关于停靠窗口,现在我们所见的许多软件都存在停靠窗口,如Visual Studio软件的类视图、属性视图和资源视图都是停靠窗口的实际案例;停靠窗口作为主窗口的一部分,可以停靠、浮动、显示隐藏等;
该博文主要讲解在Qt下的停靠窗口的实现;主窗口为单文档窗口,继承于QMainWindow类,该类包含了标准的菜单栏,工具栏,内容窗口,状态栏等;停靠窗口类为QDockWidget;主要是使用上述的两个类;界面效果如下图所示:
下面一步一步讲解实现方式:
一、菜单的实现
菜单主要使用QMenu和QAction两类,如图中所示,主要有File和View菜单;代码如下所示:
m_pFMenu =menuBar()->addMenu("&File");m_pExit = new QAction(tr("&Exit"), this);m_pExit->setShortcuts(QKeySequence::Quit);connect(m_pExit, SIGNAL(triggered()), this, SLOT(close()));m_pFMenu->addAction(m_pExit);
View菜单主要控制三个停靠窗口的显示和隐藏:
m_pVMenu=menuBar()->addMenu("&View");m_pVMenu->addAction(m_pDockWidget1->toggleViewAction());m_pVMenu->addAction(m_pDockWidget2->toggleViewAction());m_pVMenu->addAction(m_pDockWidget3->toggleViewAction());
二、内容窗口的实现
内容窗口作为主窗口的主要展示窗口,其随着主窗口的伸缩而伸缩,该程序中使用QTextEdit类作为显示文本信息
//创建QTextEdit对象m_pTextEdit = new QTextEdit(this);setCentralWidget(m_pTextEdit);
三、停靠窗口的实现
该程序使用三个停靠窗口,都放置在主窗口的左边;其中左边最顶端的停靠窗口实现如下代码所示:
//创建QDockWidget对象m_pDockWidget1 = new QDockWidget(this);m_pDockWidget1->setWindowTitle("dock date");//设置可停靠区域m_pDockWidget1->setAllowedAreas(Qt::AllDockWidgetAreas);//设置m_pDockWidget1内的部件m_pCale = new QCalendarWidget(m_pDockWidget1);m_pCale->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);m_pCale->setGridVisible(true);m_pDockWidget1->setWidget(m_pCale);//主窗口中添加dockaddDockWidget(Qt::LeftDockWidgetArea, m_pDockWidget1);
OK。。。基本就讲解完了,是不是很方便很简洁也很好懂;我把代码也共享出来,不对之处,望大家提出来共同讨论!!!
源码下载地址:http://files.cnblogs.com/appsucc/DockWindow.rar
0 0
- QT主窗口的停靠窗口实现
- QT主窗口的停靠窗口实现
- QT主窗口的停靠窗口实现
- Qt中停靠窗口的实现
- Qt中停靠窗口的实现
- Qt中停靠窗口的实现
- qt 实现停靠窗口 效果
- Qt停靠窗口
- QT--QDockWidget 停靠窗口
- Qt下设置停靠窗口的大小
- Qt 布局管理 - 停靠窗口
- Qt 布局管理 - 停靠窗口
- 自学QT之停靠窗口
- QT窗口停靠使用案例
- Qt停靠窗口角落设置
- Qt停靠窗口QDockWidget应用
- 三种类型的停靠窗口实现
- QT窗口布局-停靠窗口类QDockWidget
- 关于android资源类型简述
- 多产品多团队发布问题反思
- Qt动画效果展示
- Objective-C 的动态提示和技巧
- C# 枚举、字符串、值的相互转换
- QT主窗口的停靠窗口实现
- 画图的一些函数
- android GSM+CDMA基站定位
- js实现按钮失效5秒钟
- gpio_direction_output 与 gpio_set_value
- c指针浅谈第二篇(指针与数组的关系)
- 恶补web之三:http学习
- Oracle如何执行存储过程
- poj 2837 Silver Matrix 不使用栈的深搜