最近网红6.5大侠和kuma大师做了测试,得出以下结论: 顺便和大家汇报个今天重大发现,qss在qt5.12.5版本前和之后,有重大速度变化,一样的qss文件,5.12.5以后速度性能下降十倍,比如5.14 5.15 6.1 6.3,qt6更糟糕,都是release。 5.12.11以后也是这个速度 性能差距就在 qApp->setStyleSheet(qss); 界面越多,差距指数级增长 但是换成5.12.5之前的低版本(eg.5.7)溜得起飞 还是painter好很多,怪不得UOS推荐而且强制painter禁用qss 频繁改变的图片按钮或变色按钮,最好使用自绘不要使用样式 频繁改变颜色之类 肯定不qss 6.2和5.12.2的代码对比,切换样式表,会有这样的差异。 不知道为什么这么做,按照以往的经验,样式表应用的时候已经具体到指定QWidget*,再获取一遍children重设样式的意义呢 从这段代码和堆栈看,QStyleSheetStyle会缓存那些生效果样式的widget列表。早期的版本,只会对这些缓存的widget发送新的事件。而之后的版本,还对这些widget的children做同样的逻辑,你看updateObjects的参数,就没区分是不是QWidget,至少会有一层递归调用。如果QWidget父子嵌套过多,递归很深啊 果然,假设有一个按钮外层嵌套了6层QFrame,算上按钮总共7个QWidget。也就是QStyle里至少缓存了7个对象。然后重设的时候。每一个都触发一次stylechange事件。每个又递归调用到最后一层,单一个按钮至少产生了8个stylechange事件,可怕 而5.12.2,测试按钮只有1次事件。 Qt4.8.7是Qt4的终结版本,是Qt4系列版本中最稳定最经典的(很多嵌入式板子还是用Qt4.8),其实该版本是和Qt5.5差不多时间发布的。参考链接 https://www./blog/2015/05/26/qt-4-8-7-released https://blog./blog/2015/07/01/qt-5-5-released/ Qt一共有几百个版本,关于如何选择Qt版本的问题,我一般保留四个版本,为了兼容Qt4用4.8.7,最后的支持XP的版本5.7.0,最新的长期支持版本比如5.15,最高的新版本比如5.15.2。强烈不建议使用4.7以前和5.0到5.3之间的版本(Qt6.0到Qt6.2之间、不含6.2的版本也不建议,很多模块还没有集成),太多bug和坑,稳定性和兼容性相比于之后的版本相当差,能换就换,不能换睡服领导也要换。如果没有历史包袱建议用5.15.2,目前新推出的6.0版本也强烈不建议使用,官方还在整合当中,好多类和模块暂时没有整合,需要等到6.2.2版本再用。 -------------------其他人的测评--------------------------- 1、KDAB https://www./say-no-to-qt-style-sheets/ https://github.com/KDAB/KDDockWidgets https://www./development-resources/qt-tools/kddockwidgets/ 2、股票软件 https://blog.csdn.net/lucyTheSlayer/article/details/106328550 说明这个qter不会写qabstractitemmodel 谁使用tablewidget来搞? 不应该是tableview吗? 先搞清楚tablewidget和tableview来吐槽 自定义tableview和qabstractTableModel 3、QSS Performance 4、博客与github kuma https://blog.csdn.net/eiilpux17 6.5 https://blog.csdn.net/feiyangqingyun https:///feiyangqingyun/QWidgetDemo 建波 |
|
来自: 芥子c1yw3tb42g > 《谋生之道-自律自由》