没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:龚雪|2022-07-06 10:29:40.857|阅读 116 次
概述:本文继续为大家介绍Qt Widget中的样式和样式感知小部件,欢迎大家下载相关组件体验!
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
样式(继承QStyle的类)代表小部件绘制并封装 GUI 的外观。 QStyle 类是一个抽象基类,它封装了 GUI 的外观。 Qt 的内置小部件使用它来执行几乎所有的绘图,确保它们看起来与等效的原生小部件完全一样。
Qt带有一系列内置样式,某些样式仅在特定平台上可用。自定义样式可作为插件使用,或者通过使用 QStyleFactory::create()创建特定样式类的实例并使用QApplication::setStyle()设置它。
Qt技术交流群:166830288 欢迎一起进群讨论
每种样式都提供了一种颜色 - 即QBrush,用于绘制小部件的调色板。对于不同的小部件状态(QPalette::ColorGroup)有一组颜色:激活(窗口中具有键盘焦点的小部件)、非激活(用于其他窗口的小部件)和禁用(被禁用的小部件),可以通过查询State_Active 和 State_Enabled 状态标志来找到这些状态。每个集合都包含由 QPalette::ColorRole 枚举给出的某些颜色角色,角色描述了应该在哪些情况下使用颜色(例如,用于绘制小部件背景、文本或按钮)。
如何使用颜色角色取决于样式,例如如果样式使用渐变,可以使用调色板颜色并使用QColor::darker() 和 QColor::lighter()使其更暗或更亮来创建渐变。通常如果您需要调色板未提供的画笔,则应尝试从中派生它。
提供调色板的QPalette存储不同小部件状态和颜色角色的颜色,样式的调色板由standardPalette() 返回。在应用程序 (QApplication::setStyle()) 或小部件 (QWidget::setStyle()) 上设置新样式时,标准调色板不会自动安装,因此您必须自己设置调色板 (QApplication::setPalette() ) 或 (QWidget::setPalette())。
不建议对颜色进行硬编码,因为应用程序和单个小部件可以设置自己的调色板,也可以使用其样式的调色板进行绘制。请注意,Qt 的小部件都没有设置自己的调色板,Java 风格确实对某些颜色进行了硬编码,但仅作为作者的决定; 不建议这样做。 当然,这并不意味着该样式在任何调色板中都应该看起来不错。
实现样式时,需要考虑几个问题,我们将在此处提供有关实现的一些提示和建议。
在实现样式时,需要查看小部件的代码和基类及其源代码,这是因为小部件使用不同的样式,因为不同样式的虚函数中的实现会影响绘图的状态(例如,通过更改 QPainter 状态而不恢复它和绘制一些元素替代适当的像素度量和子元素)。
建议样式不要使用QStyle::sizeFromContents()函数改变小部件的建议大小,而是让 QCommonStyle 实现来处理它。 如果需要进行更改,则应尽量保持较小; 如果小部件的布局在各种样式中看起来差别很大,则应用程序开发可能会很困难。
Qt技术交流群:166830288 欢迎一起进群讨论
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
文章转载自:慧都网在许多企业应用程序中,从 Visio 文件读取形状数据是一项常见需求,因为这些应用程序中的图表都包含有意义的元数据。本教程将借助Aspose.Diagram,以清晰实用的方式指导您使用 C# 读取形状数据。
PDF 的页面大小决定了其内容的显示、打印或处理方式。在准备打印、转换格式或标准化布局时,我们通常需要更改PDF文档的纸张大小。在本教程中,您将学习如何使用 Java 编辑任何 PDF 文件的页面大小。我们将通过完整的代码示例,逐步指导您完成操作。
本文主要介绍如何使用DevExpress WPF Grid控件中的节点(Nodes)概述,欢迎下载最新版组件体验!
本教程提供DevExpress WinFormsWinExplorer视图的基本信息,欢迎下载最新版组件体验!
一个跨平台的C++图形用户界面应用程序开发框架。
QtitanRibbon专业全面 & 实现Qt技术的跨平台Ribbon UI组件
QtitanDataGrid一个独特的Qt开发框架产品,吸收了Delphi、C++以及其他语言的优点
QtitanChart性能优异的跨平台Qt类图表组件
QtitanDocking一个用于允许创建类似于Microsoft可停靠用户界面的Qt框架组件。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号