实在是无力吐槽。Qt6,PySide6还不成熟也就算了,QtQuick,QtQuick.Controls 2重写了1然后改名去掉了2也就算了,QtCreator这么多年了还有各种不支持的 语句和Item,然后可视化图形界面设计QtQuickDesigner就直接白板了,现在直接用代码写界面反而更快。但是QtCreator的IDE也真烂,QML写起来就和用记事本差不多,各种假警报,错误提示也没什么参考价值。
QtWebEngine在Qt6.1中没有,要等到6.2才有也就算了,Qt5的QtWebEngine也不被QtCreator支持?MinGW不支持QtWebEngine的编译因为Google不喜欢?这都什么鬼,还不在官方文档里说。官方文档都什么鬼,写的也太模糊了。SplitView在QtQuick.Controls的1,和2的逻辑不一样?一样的代码和Controls并不怎么相关,在1里就正常,在2里就不正常,官方也从不解释改了啥,内部怎么个运行逻辑,但是文档是一样的,感觉是信号发出的时机变了。这不是逼人看源码呢,不知道文档是用来干啥的。结果自己重写了一个,反而需要的代码更少呢。
各种奇葩问题,官方从来也不说,按说Qt用的人不少啊,但是讨论的人不算多,大概大多是大公司在用,遇到问题直接自己改源码,重新编译一个自己版本的Qt。尤其是Python版本的问题,用的人更少,大多是用原生C++。
不吐槽了,1天1夜都说不完。说正题。
简单说就是qmlRegisterType可以引入类class,由QML实例化;而setContextProperty引入实例,引入前就要实例化。