我是一个wxWidgets的重度用户,部分原因是出于许可证方面的考虑。
- 你如何看待Qt最近发布LGPL许可证的最新公告,对wxWidgets的未来前景有何影响?
- 您认为wxWidgets仍然是新项目的良好技术选择吗?还是您建议采用Qt,因为它将成为事实上的标准?
- 我也对这可能对最常见的脚本语言绑定(例如PyQt、wxPython、wxRuby)产生的影响感兴趣。为什么PyQt拥有专业级别的设计师,而wxPython没有,但PyQt使用率却很低?
我是一个wxWidgets的重度用户,部分原因是出于许可证方面的考虑。
对于那些因为wxWidgets是一个跨平台库,并使用原生控件以获得适当的外观和感觉而被吸引的人来说,Qt的许可证变更几乎没有任何影响。
编辑:
关于
让我引用比较工具包的wxWidgets维基页面:Qt没有真正的本地端口,而是使用本地绘图函数
Qt没有像wxWidgets一样的真正本地端口。我们的意思是,尽管Qt绘制它们相当逼真,但Qt在每个平台上都会绘制自己的小部件。值得一提的是,Qt附带了特殊的样式,用于Mac OS X和Windows XP和Vista,这些样式使用本地API(Mac OS X上的Appearance Manager,Windows XP上的UxTheme)绘制标准小部件基元(例如滚动条或按钮),就像任何本地应用程序一样。事件处理、生成的视觉反馈和小部件布局始终由Qt实现。
我目前在工作中使用的是pyqt,并且我非常满意。我认为它有更好的文档(在我看来),更好的事件管理(信号和槽模式比旧的简单回调风格更强大),并且在诸如qt-designer之类的图形设计师中导入自定义小部件比wxpython的任何对应方案(如Boa Constructor和pyGlade)都要容易得多。
据我所知,qt-designer比任何wxpython的对应方案都更为强大,例如Boa Constructor和pyGlade。您还可以很好地支持将程序字符串翻译成不同的语言(至少比wxLocale更好的支持),而且您可以使用诸如Qt-Linguist之类的工具,这些工具完全集成在qt系统中。
我在一些业余作品中使用wxpython,但我在那里仍然是一个新手。我认为它比pyqt更大的优势是在不同平台上具有本地外观和感觉。如果您正在开发Windows / Linux应用程序,这是一个巨大的优点。实际上,你可以使用“换肤”功能在Windows-qt应用程序中获得本地外观和感觉,但是我不知道如何实现这一点(抱歉,我从未在Windows上使用过qt:D)。
Qt是一个非常全面和高质量的框架。我相信许多原本会使用wxWidgets的新项目现在会选择使用LGPL Qt。但是已经在使用wxWidgets的项目无疑会继续使用wxWidgets,而不是进行大规模重写。
我选择wxPython有两个主要原因:
我的理想 IDE 设计可以创建事件,让我编辑所需的功能代码并运行,而无需“编译 UICs”,无需切换编辑器,也无需进入命令行。虽然对于大型应用程序来说这并不重要,但我目前的领域是快速和小规模的程序。
许可证...现在还不重要,但一旦我开始在小规模上销售我的东西,它就会变得重要。
QTDesigner 中的事件功能代码内自动完成似乎不起作用。我可能遗漏了一些东西,但上述“破碎”的过程阻止它成为 RAD。