我是wxWidgets的重度用户,部分原因是出于许可原因。
答案 0 :(得分:14)
对于我们这些被wxWidgets吸引的人,因为它是跨平台库,使用本机控件来获得正确的外观和感觉,Qt的许可变更几乎没有后果。
修改强>
关于
Qt没有原生控件但是原生绘图功能
让我引用wxWidgets wiki page comparing toolkits:
Qt没有真正的原生端口,比如wxWidgets。我们的意思是,即使Qt非常逼真地绘制它们,Qt也会在每个平台上绘制自己的小部件。值得一提的是,Qt配备了适用于Mac OS X和Windows XP和Vista的特殊样式,它们使用原生API(Mac OS X上的外观管理器,Windows XP上的UxTheme)来绘制标准窗口小部件基元(例如滚动条或按钮)原生申请。 事件处理,由此产生的视觉反馈和小部件布局始终由Qt。
实现
答案 1 :(得分:12)
我目前正在使用pyqt工作,我发现自己完全满意。 你有更好的文档(恕我直言),更好的事件管理(信号槽模式比旧的简单回调样式更强大),并且在像qt-designer这样的图形设计器中导入自定义窗口小部件要容易得多。 据我所知,qt-designer比任何wxpython更强大,比如Boa Constructor和pyGlade)。 您也非常支持使用不同语言翻译程序的字符串(至少比wxLocale更好的支持,您可以使用Qt-Linguist这样的工具,它完全集成在qt系统中)。
我在一些爱好作品中使用wxpython,但我仍然是那里的菜鸟。我认为它比pyqt更大的优势是在不同平台上拥有原生外观和感觉。例如,如果您正在开发Windows / Linux应用程序,这是一个重点。实际上你可以使用“皮肤”来获得原生的外观和感觉与windows-qt应用程序,但我不知道如何实现这一点(对不起,我从来没有在Windows上使用过qt:D)。
答案 2 :(得分:8)
请注意,截至2009年1月,虽然Qt 4.5将在LGPL下提供,但Riverbank Computing尚未发布有关未来版本PyQt的许可的任何公告。 PyQt仍然只有commercial/GPLv2/GPLv3。
正如对此答复的评论所述,诺基亚于2009年8月宣布了LGPL许可的PySide项目。
答案 3 :(得分:6)
老实说,我认为人们不会大规模地转离WxWidgets。
对于python,有PyQt绑定和WxPython绑定。尽管Qt比WxWidgets更实用,但大多数GUI python开源程序都是用WxWidgets编写的。由于这些程序是开源的,因此GPL与LGPL在选择工具包时并不重要。
Gtk也是如此。许多开源应用程序都是在Windows上用Gtk编写的,尽管Gtk在Windows上很难处理。使用Qt,这些应用程序在跨平台的基础上更容易维护,但它没有发生。
因此,工具包的选择受到许多参数的影响,许可只是其中之一。
我仍然不明白为什么Qt不是主流,因为在我看来,这是最简单,更实用的GUI工具包。
答案 4 :(得分:3)
答案 5 :(得分:2)
我选择wxPython有两个主要原因:
我理想的IDE设计,创建事件,让我编辑所需的功能代码,并运行;无需“编译UIC”,无需切换编辑器,无需进入命令行。 虽然对于大规模应用而言,它很重要,但我目前的领域是快速且小规模的程序。
...许可 现在没关系,但是一旦我开始小规模地出售我的东西。
自动完成在QTDesigner中似乎不适用于事件代码。我可能会遗漏一些东西,但上面描述的“破碎”过程会阻止它成为RAD。
答案 6 :(得分:1)
我从来没有能够设置Qt来交叉编译。我记得看过Trolltech的一些内容,说他们没有正式支持交叉编译,虽然我现在找不到它。
有许多指南和详细说明如何让Qt进行交叉编译,因此可能(可能)我做错了。
在选择框架时,我建议考虑并测试他们的交叉编译能力。