Python中文
首页
教程
问答
标签
搜索
登录
注册
关于使用Python进行GUI编程的当前状态的问题
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我最近做了一些工作,修改了一个使用wxPython小部件的pythongui应用程序。在过去的六、七年里,我曾尝试过Python,但这是我第一次用gui做任何工作。我对使用Python进行gui编程的现状感到非常失望。我非常喜欢Python语言本身,它与我习惯的Delphi/ObjectPascal编程相比是一个有趣的变化,对于一般用途的编程任务来说,无疑是一个巨大的生产力提高。我想把一切都转到Python。在</p> <p>但是wxPython与Delphi的VCL或.NET的WinForms相比是一个巨大的倒退。虽然Python本身提供了很好的生产力收益,但wxPython在一个比VCL更低的抽象级别上使用。例如,我浪费了很多时间试图让wxPython列表对象按照我想要的方式运行。添加可排序列涉及到几个代码密集的步骤,一个是创建和维护提供实际排序顺序的阴影数据结构,另一个是使在列标题中显示图形排序方向三角形成为可能,还有几个我不记得了。所有这些容易出错的步骤都可以通过使用Delphi网格组件设置属性值来完成。在</p> <p>我的结论是:虽然Python通过提高许多通用代码的抽象级别来提高生产率,但wxPython的抽象级别比Delphi可用的gui工具低几个级别。最终结果:用Delphi编程的gui比用Python编写的gui编程快得多,而且用Delphi生成的ui仍然更加精美和功能齐全。在我看来,说delphigui编程在1995年比2009年用wxpythonis进行python gui编程更先进并不夸张。在</p> <p>我对其他python gui框架做了一些研究,结果发现没有任何一个框架比wxPython更好。我还对wxPython的guiformbuilders做了一些最小限度的调查,这会使事情变得更好一些。但据大多数报道,这些解决方案都是有缺陷的,即使是一个优秀的formbuilder也无法解决我对wxPython的主要抱怨,因为wxPython的特性较少,而且通常需要您在比我习惯于使用Delphi的VCL的抽象级别低得多的抽象级别上进行gui编程。对于习惯于Delphi或.NET的人来说,快速研究所建议的pythongui-dev解决方案(<a href="http://wiki.python.org/moin/GuiProgramming" rel="noreferrer">http://wiki.python.org/moin/GuiProgramming</a>)确实有些令人沮丧。在</p> <p>最后,我有几个问题。在</p> <p>首先,我是不是遗漏了什么?有没有一些Python的gui开发解决方案可以与VCL或WinForms编程相比?我不一定在乎它是否完全符合德尔福的VCL。我只是在找一个在同一个联盟里的东西。在</p> <p>第二,IronPython会是发展的方向吗?我尽量避免喝.NETKoolaed,但也许IronPython给了我一个最终放弃的理由。即便如此,IronPython是否与WinForms完全集成,或者我是否需要用c#或vb.net?在我看来,SharpDevelop和MonoDevelop确实是这样(也就是说,IronPython不能用于构建设计时gui)。做VS.NET公司将IronPython与gui构建完全集成?在</p> <p>在我看来,如果Python出现了一些很棒的新gui构建解决方案,Python可以以类似于visualbasic在1990年代早期所做的那样“接管世界”。只有这次使用Python,我们才有了一个全新的快速、跨平台和开源gui编程的范例。公司不会把它吃掉吗?是的,我不知道这些天来Python是一个伟大的解决方案。但我不要看到gui编程正在消失,我想要一个很好的现代的、开源的、高层次的解决方案。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>似乎你的抱怨是关于wxPython,而不是Python本身。试试pyQt(还是qtPython?)在</p> <P>但是,WxPython和PyQt都是Python绑定到C/C++(分别)库,它和原文件一样低(概念上)。在</p> <p>但是,Qt远远优于wx</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
8 回答
无法使用Django\u mssql\u后端迁移到外部hos
8 回答
无法使用Django&Python3.4连接到MySql
1 回答
无法使用Django+nginx上载媒体文件
6 回答
无法使用Django1.6导入名称模式
5 回答
无法使用Django1.7和mongodb登录管理站点
8 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
7 回答
无法使用Djangockedi验证CBV中的字段
2 回答
无法使用Djangocketditor上载图像(错误400)
4 回答
无法使用Djangocron进行函数调用
10 回答
无法使用Djangofiler djang上载文件
5 回答
无法使用Djangokronos
1 回答
无法使用Djangomssql provid
5 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
10 回答
无法使用Djangomssq迁移Django数据库
7 回答
无法使用Djangonox创建用户
4 回答
无法使用Djangopyodb从Django查询SQL Server
2 回答
无法使用Djangopython3ldap连接到ldap
5 回答
无法使用Djangoredis连接到redis
5 回答
无法使用Django中的FK创建新表
8 回答