Qt/GUI/使用样式表自定义外观概述

Qt样式表

官方帮助文档-补充

Qt-QSS基础

CSS 教程

Qt样式表的作用流程

QSS相关的源码解析

AI设计

Adobe illustrator,常被称为“AI”,是一种应用于出版、多媒体和在线图像的工业标准矢量插画的软件。

作为一款非常好的矢量图形处理工具,该软件主要应用于印刷出版、海报书籍排版、专业插画、多媒体图像处理和互联网页面的制作等,也可以为线稿提供较高的精度和控制,适合生产任何小型设计到大型的复杂项目。

一个学习地址: http://www.shejidaren.com/tag/ai%E6%95%99%E7%A8%8B

Qt-重绘操作

QA:paintEvent()的效率与调用时机?

当调用 update(),repaint(),或当HMI有任何改变(包括hide->show,hmiresize,hmi_content-Change)的时候会被调用。paintEvent()是已经被高度优化过的函数,它本身已经自动开启并实现了双缓冲(X11系统需要手动去开启双缓冲),因此Qt中重绘不会引起任何闪烁。repaint(),被调用之后,立即执行重绘。update()则将重绘事件放入主消息循环中,由main的event loop统一调度。update在调用paintEvent之前,有其他优化,如果update被调用了很多次,最后这些 update会合并到一个大的重绘事件加入到消息队列,最后只有这个大的update被执行一次。

QA:反走样技术的效果?
设置方法-painter.setRenderHint(QPainter::Antialiasing, true); //设置painter抗锯齿 #反走样是默认关闭的,这种技术的算法相对较复杂,在一些对图像质量要求不高,或更注重效率的场景中,通常不需要开启,另外一些必须精确到像素操作的应用也不能开发走样优化。在一定的线粗条件下,反走样效果是很 明显的!!!!!

QStyle

在GUI/Qt4编程一书中,有单独的一个小结来讲它的子类化,一直没有看过。之前在看一个叫XYInput的软键盘源码时,见到过它的应用,当时不以为然;后来阅读QToolBox的源码,读到其私有类QToolBoxButton的paintEvent重绘函数:

void QToolBoxButton::paintEvent(QPaintEvent *)
{...
	QStyleOptionToolBoxV2 opt;
	initStyleOption(&opt);
	style()->drawControl(QStyle::CE_ToolBoxTab, &opt, p, parentWidget());
}
//QStyle *QWidget::style() const
//class Q_GUI_EXPORT QStyleOptionToolBoxV2 : pulic QStyleOptionToolBox
//class Q_GUI_EXPORT QStyleOptionToolBox : pulic QStyleOption

大体阅读过QStyleOptionToolBox 等源码后,内心被撞到啦,原来Qt自身控件的效果,没有那么高大上,也是硬代码给堆出来的!同时,也说明,QStyle类对于自定义效果的至关重要性!

样式表与重绘

该章节将试图搞明白,它们的联系和区别是什么?

二维绘图

三维绘图

参考网站

https://www.qt.io/cn/ui-framework

具体样式效果

该章节分散在其他博文中展开,具体可以参考:

  1. GUI开发-QToolBox使用异常
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值