QtCreator快速入门第8章界面外观讲述.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
QtCreator快速入门第8章界面外观讲述

《Qt Creator快速入门》第2版 第8章 界面外观 一个完善的应用程序不仅应该有实用的功能,还要有一个漂亮的外观,这样才能使应用程序更加友善,更加吸引用户。 作为一个跨平台的UI开发框架,Qt提供了强大而灵活的界面外观设计机制。这一章将学习在Qt中设计应用程序外观的相关知识,在本章开始会对Qt风格QStyle和调色板QPalette进行简单介绍,然后再对Qt样式表(Qt Style Sheets)进行重点讲解,最后还会涉及不规则窗体和透明窗体的实现方法。 主 要 内 容 8.1 Qt风格 8.2 Qt样式表 8.3 特殊效果窗体 8.4 小结 8.1 Qt风格 使用不同风格预览程序 首先进入设计模式,可以先修改界面,然后打开“工具”→“界面编辑器”→“预览于”菜单,这里列出了现在可用的几种风格,比如选择“CDE风格”,预览效果如下图所示。 使用不同风格运行程序 如果想使用不同的风格来运行程序,那么只需要调用QApplication的setStyle()函数指定要使用的风格即可。 例如,在main()函数的“QApplication a(argc, argv);”一行代码后添加如下一行代码: a.setStyle(new QMotifStyle); 这时运行程序,便会使用Motif风格。 而如果不想整个应用程序都使用相同的风格,那么可以调用部件的setStyle()函数来指定该部件的风格。 调色板 调色板QPalette类包含了部件各种状态的颜色组。一个调色板包含三种状态:激活(Active)、失效(Disabled)和非激活(Inactive)。Qt中的所有部件都包含一个调色板,并且使用各自的调色板来绘制它们自身,这样可以使用户界面更容易配置,也更容易保持一致。调色板中的颜色组包括: 激活颜色组QPalette::Active,用于获得键盘焦点的窗口; 非激活颜色组QPalette::Inactive,用于其他的窗口; 失效颜色组QPalette::Disabled,用于因为一些原因而不可用的部件(不是窗口)。 要改变一个应用程序的调色板,可以先使用QApplication::palette()函数来获取其调色板,然后对其进行更改,最后再使用QApplication::setPalette()函数来使用该调色板。更改了应用程序的调色板,会影响到该程序的所有窗口部件。如果要改变一个部件的调色板,可以调用该部件的palette()和setPalette()函数,这样只会影响该部件及其子部件。 示例: // 获取pushButton的调色板 QPalette palette1 = ui-pushButton-palette(); // 设置按钮文本颜色为红色 palette1.setColor(QPalette::ButtonText,Qt::red); // 设置按钮背景色为绿色 palette1.setColor(QPalette::Button,Qt::green); // pushButton使用修改后的调色板 ui-pushButton-setPalette(palette1); // 设置lineEdit不可用 ui-lineEdit-setDisabled(true); QPalette palette2 = ui-lineEdit-palette(); // 设置行编辑器不可用时的背景颜色为蓝色 palette2.setColor(QPalette::Disabled,QPalette::Base,Qt::blue); ui-lineEdit-setPalette(palette2); 设置调色板颜色时可以使用setColor()函数,这个函数需要指定颜色角色(Color Role)。在QPalette中,颜色角色用来指定该颜色所起的作用,例如是背景颜色或者是文本颜色等,主要的颜色角色如下表所示。 8.2 Qt样式表 Qt样式表概述 样式表使用文本描述。 可以使用QApplication::setStyleSheet()函数将其设置到整个应用程序上; 也可以使用QWidget::setStyleSheet()函数将其设置到一个指定的部件(还有它的子部件)上。 如果在不同的级别都设置了样式表,那么Qt会使用所有有效的样式表,这被称为样式表的层叠。 使用代码设置样式表 例如: // 设置pushButton的背景为黄色 ui-pushButton-setStyleSheet(background:yellow); // 设置horizontalSlider的背景为蓝色

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档