诺基亚刚刚在最近的 beta 版本的Qt中推出了Qt Quick(在声明中使用CSS / HTML构建UI),请查看example page,它可以构建精美的现代UI,很酷!
相反,“传统Qt”开发的用户界面似乎不那么花哨(我可能错了,请参阅下面的免责声明)。
所以我的问题是,您是否会将'Traditional Qt'或'Qt Quick'用于新的桌面程序?的为什么吗
我最初的想法:
'传统Qt':
优点:
使用的整体技术更少,更简单,如果你使用PySide,你只需用Python编写代码,就不必乱用Qt Quick中类似CSS / JS的东西;
< / LI>它已经成熟了。
缺点:
构建花哨的UI似乎更难?
'Qt Quick':
利弊:反过来。
Edit
:Qt Quick有一个缺点,如果我错了,请纠正我,你不能以所见即所得的方式设计Qt Quick UI,对吗?
免责声明:我是Qt,PySide和Python的新手,最近刚开始使用这些技术来评估构建桌面程序。
答案 0 :(得分:8)
ave一直在为我的桌面弄乱qml,我个人发现了这个:
我在qml中发现的问题
这并没有阻止我玩qml并且随着它的成熟,我将采取观望态度。目前我正在使用qml作为后端的部分ui和c ++。
答案 1 :(得分:4)
你犯了一个错误:Qt Quick仅在Qt的测试版中不可用。它是自4.7以来官方Qt版本的一部分(尽管每个次要版本都显着改进了Qt Quick提供的功能)。
虽然“普通”Qt UI(包含QWidgets和布局等)较旧,但这并不一定意味着Qt Quick不成熟。毕竟,这是发布的一部分。
你未能在你的专业和缺点中指出的一点是性能:“正常”Qt UI是prebuillt(基本上是大部分),Qt Quick UI依赖于QML和CSS / HTML的运行时解释说。这通常不会影响桌面系统上的应用程序速度,但是如果你因为你的UI过于花哨而遇到性能瓶颈,那就不要说我没有警告你。虽然这样的瓶颈可能意味着你应该从一开始就使用OpenGL。
Qt Quick提供了一种简单的方法来构建一个很酷的用户界面(无论如何这是卖点),并且可以让你以比旧的更简单的方式使用更酷的效果。
答案 2 :(得分:3)
如果您使用的是Python,那么您可能并不关心性能。传统的Qt也可以通过QSS实现漂亮的外观。 Qt Quick提供的是一种轻松构建UI的方法(即使没有4.8中引入的工具支持),也可以使用脚本来使其工作。
您也可以使用传统的Qt创建精美的UI,主要通过QSS和派生现有的小部件。大多数Qt示例都没有关注这一点,但这并不意味着它无法完成。它也可能提供更好的整体性能,尤其是在用C ++编写时。
我会使用传统的Qt,因为我对它更熟悉。但无论如何这是主观的,所以我认为你的问题将被关闭。
答案 3 :(得分:0)
我对传统的Qt UI系统没有那么多经验。但我可以告诉你我在QtQuick上的经历:
如果您想使用像MVC这样的标准模式开发您的应用,QML可能更合适 你需要注意性能笔记。