魔方网表 让信息化更简单

 找回密码
 注册
查看: 12378|回复: 0

Qt系列教程【2.6】内置控件和对话框类(Built-in Widget and Dialog Classes)

[复制链接]
admin 发表于 2008-11-26 11:06:00 | 显示全部楼层 |阅读模式
Qt提供了一个完整的内置控件和常用对话框的集合,以满足大多数情形的需要。在这一节中,我们将展示几乎所有它们的截图。而一些特殊的控件将在以后介绍:我们将在第三章中介绍诸如QMenuBarQToolBarQStatusBar之类的主窗口控件,在第六章中介绍诸如QSplictterQScrollArea之类的布局相关的控件。本书中的例子中使用了大多数的内置控件和对话框。在图2.172.26的截图,展示的都是使用Plastique风格的控件。

jpg

jpg

图2.17. Qt的按钮控件


jpg

jpg

图2.18. Qt的单页容器控件


jpg

jpg

图2.19. Qt的多页容器控件


jpg

jpg

图2.20. Qt的列表视图控件


jpg

jpg

图2.21. Qt的显示控件


jpg

jpg

图2.22. Qt的输入控件


jpg

jpg

图2.23. Qt的反馈对话框


jpg

jpg

图2.24. Qt的颜色和字体对话框


jpg

jpg

图2.25. Qt的文件和打印对话框


jpg

jpg

图2.26. Qt的向导对话框


Qt提供了四种类型的按钮:QPushButtonQToolButtonQcheckBoxQRadioButton,如图2.17所示。QPushButtonQToolButton最常用来被点击时触发一个事件,但是它们也可以作切换按钮(点击后显示为按下状态,再点击恢复原来状态)。QCheckBox能被用做独立的开关选项,而QRadioButton之间正常情况下相互排斥。

Qt的容器控件是可以包含其它控件的控件,如图2.182.19所示。QFrame也可以独立使用,用来简单地画直线,或作为其它控件类的基类,如QToolBoxQlabel

QTabWidgetQToolBox是多页控件。每个页面都是一个子控件,从0开始编号。对于QTabWidget,形状和大小都可以设置。

列表视图控件,如图2.20所示,被优化来处理数量大的数据,它经常要使用到滚动条。滚动条机制是在QAbstractScrollArea中实现的,它是列表视图类和其它可滚动控件类的基类。

Qt类库包含了一个富文本引擎,它可以被用来显示和编辑有格式的文本。这种引擎支持字体格式、文本排列、列表、表格、图片以及超链接。富文本文档可以通过元素或用HTML文本格式来创建可编程的有文法规则的元素。这种引擎提供了严格的HTML标记和CSS属性的支持,相关文档参看http://doc.trolltech.com/4.3/richtext-html-subset.html

Qt提供了一些纯粹用来显示信息的控件,如图2.21QLabel是它们中最重要的,它可以用来显示普通文本、HTML和图片。

QTextBrowserQTextEdit的一个只读子类,它可以显示有格式的文本。这个类相对于QLabel,是处理大型有格式的文本文档的首选,因为它能在需要时自动显示滚动条,同时还提供了对键盘和鼠标事件的广泛支持,而这些是QLabel无法比拟的。Qt Assistant 4.3正是使用了QTextBrowser来为用户显示文档的。

Qt提供了多种数据输入控件,如图2.22。QLineEdit可以使用输入掩码和验证器中的之一或全部,来限制输入。QTextEditQAbstractScrollArea的一个子类,可用于处理数据量大的文本。QTextEdit可以设置为编辑普通文本或富文本。在编辑富文本时,它可以显示所有Qt富文本引擎支持的元素。QLineEditQTextEdit完全地和剪贴板整合在了一起。

Qt提供了一个常用对话框的标准集合,如图2.242.25,这些对话框大大方便了用户选择颜色、字体、文件或者打印文本。

在Windows和Mac OS X中,Qt会尽可能的使用本地对话框,而不是Qt自己的常用对话框。选择颜色时也可以使用Qt解决方案中的颜色选择控件,而选择字体可以使用Qt内置的CFontComboBox

最后,QWizard提供了一个框架来创建向导(在Mac OS X也叫做助手)。向导对于那些用户很难记住的,复杂或罕见的任务是非常有用的。图2.26展示了一个向导的例子。

Qt内置控件和常用对话框提供了很多可以直接使用的功能。很多特殊要求可以通过设置控件属性,或者连接信号和槽并在槽中实现自定义行为的方式来实现。

如果Qt提供的控件或常用对话框中没有一个是适合的,也许可以使用一个Qt解决方案,或者还可以使用商业或非商业的第三方控件。Qt解决方案提供了很多附加控件,其中包括各种颜色选择器、拇指旋轮控件、饼状菜单、和属性浏览器、除此之外还有复制对话框。

有的时候,用户需要从零开始新建一个自定义控件。在Qt中,这很容易实现。自定义控件和Qt内置控件使用的是相同的平台无关性绘制的函数。自定义控件设置可以和Qt Designer整合起来,这样就可以和Qt内置函数一样使用了。我们将在第5章中介绍如何创建自定义控件
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|魔方软件 ( 京ICP备08008787号 )

京公网安备 11010702001722号

GMT+8, 2024-4-20 16:38 , Processed in 0.071625 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表