Qt样式表
官方帮助文档-补充
Qt-QSS基础
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
具体样式效果
该章节分散在其他博文中展开,具体可以参考: