用Qt写软件系列五:一个安全防护软件的制作(3)
2014-10-23 16:22
211 查看
引言
上一篇中讲述了工具箱的添加。通过一个水平布局管理器,我们将一系列的工具按钮组合到了一起,完成了工具箱的编写。本文在前面的基础上实现窗体分割效果、堆栈式窗口以及Tab选项卡。窗体分割
窗体分割是一个常见的功能,尤其在一些IDE中用的非常广泛。主要是窗体分割能够在视觉上对程序功能进行分组分类,在保证界面美观的同时还能保证内容井井有条,何乐而不为呢?Qt中提供了一个用于分割窗体的类:QSplitter。这个类的使用也非常简单,准备好需要分割的窗口,设置好分割方向和比例即可。不过值得注意的是,QSplitter是一个窗口管理类,在没有添加子控件是看不到QSplitter效果的。这一点在Qt Designer中也可以验证。在我们的项目中,我们增加一个QSplitter类成员,并在主窗口的构造函数中添加如下代码:
在分割出来的子窗口中,还可以进行进一步的分割,也就是QSplitter的嵌套使用。
堆栈式窗口及Tab选项卡
堆栈式窗口取义于数据结构中的堆栈,也就是说多个窗口堆叠在一起,当用户点击对应层的窗口时进行切换。以腾讯QQ的设置窗口为例,看看到底是怎样一种效果:当用户点击“基本设置”时,窗口中的内容全部都是相关的选项卡;当点击“安全设置”的时候,窗口内容切换为对应的选项卡内容。也就是说一个窗口被另一个窗口“遮住”了。利用这种形式可以很容易的组织逻辑相关的内容。QStackedWidget是Qt为我们提供的一个实现这种功能的类。除此之外,Qt还提供了一个堆栈式窗口布局管理器类:QStackedLayout。而事实上,QStackedWidget的功能正是基于QStackedLayout实现的。那么,我们又该如何去组织这样一种结构呢?
基本思路其实也很简单。QStackedWidget继承自QWidget,它本身是一个控件容器,但是也可以作为子控件放置于其他的容器中去。那么,我们先构造好一个QStackedWidget,然后再考虑集成到父窗口中去:
小结
本文重点实现了三个功能:窗体分割(QSplitter),堆栈式窗口(QStackedWidget),Tab选项卡(QTabWidget)。通过这三个功能,一个窗口能同时展示多项内容,并按逻辑功能分类。转载自:http://www.cnblogs.com/csuftzzk/p/Trojan_Assessment_Platform_3.html
相关文章推荐
- 用Qt写软件系列五:一个安全防护软件的制作(1)
- 用Qt写软件系列五:一个安全防护软件的制作(2)
- 用Qt写软件系列五:一个安全防护软件的制作(1)
- 用Qt写软件系列五:一个安全防护软件的制作(2)
- 用Qt写软件系列五:一个安全防护软件的制作(3)
- PHP相关系列 - 某开源php软件的一个安全漏洞所想
- 用Qt写软件系列三:一个简单的系统工具(上)
- 用Qt写软件系列三:一个简单的系统工具之界面美化
- 用Qt写软件系列三:一个简单的系统工具之界面美化
- 用Qt写软件系列三:一个简单的系统工具之界面美化
- C#制作Windows service服务系列一:制作一个可安装、可启动、可停止、可卸载的Windows service
- 收集的13个杀毒软件和安全防护软件(有图哦)
- 本文教你如何使用autoconf、automake等来制作一个以源代码形式(.tar.gz)发布的软件、并可在执行configure时使用自定义参数。
- MetaTrader软件的功能扩展(关于程序补丁制作的一个例子)
- 制作一个能够自动和人一起玩泡泡堂游戏的软件
- 推荐一个免费的ARP防护软件
- Qt系列软件包 (搞不清Qtopia Core,Qt Extended,Qt-embedded.....的过来看看)--转载
- “软件宝宝”出生前,安全系列文章(一)
- 使用autoconf、automake等来制作一个以源代码形式(.tar.gz)发布的软件、并可在执行configure时使用自定义参数
- 再推荐一个安全的好软件