Python是开发UI的好选择吗?如果是这样,wxPython还是Tkinter?


12

我期待使用Python开发桌面应用程序。我是一个初学者,我在Python方面没有足够的专业知识。我也是Java程序员。尽管我有一些使用Swing构建UI的经验,但我发现在Swing上开发的应用太慢了。好吧,这可能就是为什么许多主要实现都是在C / C ++中完成的原因之一,就像在浏览器/游戏中一样。

用C ++开发UI可能是一个更好的选择,但是我更喜欢选择一种高级编程语言,而不是C / C ++。因此,我选择使用Python是因为Python本身是基于C / C ++构建的,因此它会比Java Swing更好。

那么,我可以继续假设Python在开发UI方面比Java Swing好吗?还是建议使用比Python更好的语言来开发UI?如果我继续使用Python,应该使用哪个工具包使用Tkinter或wxPython,为什么?


4
您的假设似乎有缺陷。Python建立在C / C ++之上,但JVM也是如此(最有可能)。
user281377 2011年

为什么要限制自己使用Tkinter和wxPython?
安托

2
我不是想限制自己。我的印象是,这是用于GUI开发的两个众所周知的工具包。
Vamsi Emani 2011年

Lazarus IDE,Free Pascal编译器和Object Pascal使开发GUI的方法变得非常快速,简便。
systemovich 2011年

Answers:


15

我刚刚开始使用python开发Windows桌面应用程序。我正在使用PyQt

安装,启动和运行非常容易。这里的教程:http: //zetcode.com/tutorials/pyqt4/firstprograms/显示了如何简单,我将显示代码:

#!/usr/bin/python

# simple.py

import sys
from PyQt4 import QtGui

app = QtGui.QApplication(sys.argv)

widget = QtGui.QWidget()
widget.resize(250, 150)
widget.setWindowTitle('simple')
widget.show()

sys.exit(app.exec_())

那会让你有一个窗口。

我选择使用Python / PyQt而不是C#/ WPF,因为我想学习python,而我的老板给了我很多时间。

我的经理在其他框架上向我推荐了PyQt,因为根据他的经验,它更易于使用。



我以前使用过PySide,并且效果很好。但是,由于诺基亚已经出售了Qt,PySide的未来发展有些滞后。
2011年

5

如果您要为Windows或OSX开发本机GUI,我建议您使用Tkinter(即带有Python衣服的GUI库Tk),因为它比wxPython(用于Python的wxWidgets)更接近本机外观。我发现量化起来并不容易,但是在我看来是Windows和OSX屏幕截图。YMMV。我确实知道Tk(很重要:设置了Ttk小部件)非常具有本机外观。

如果您正在为Linux开发……我真的不能诚实地建议彼此,因为我已经失去了追踪当前最受欢迎的平台的外观。:-)


1
请注意,Tkinter并没有提供许多常用的窗口小部件。例如,如果您想要进度条,则必须自己写一个或找别人写的。
詹姆斯

1
等待,但是wxWidgets使用本机GUI元素。至少C ++绑定可以。我对Python不太确定。
zhhaohao

@ZhehaoMao wxWidgets是本机元素和非本机元素的混合。有些元素看起来与本机元素相似,但实际上是为更统一的API定制的。
Hubert Grzeskowiak

3

如果您已经了解并喜欢Python,那将是一个不错的选择。否则,请使用您已经知道的语言Java。这里的一个例外是,如果这是一个学习项目,在这种情况下,我建议获得其他语言的经验是一个好主意。

我的意思是,对于UI应用程序而言,Python确实没有比Java更好或更差的东西,因此请使用您喜欢使用的任何工具。


1

对于这样的所有问题,唯一可以给出的真正建议是“试一试,看看您是否喜欢它”-别人对编程语言(尤其是对他们最喜欢或最讨厌的语言的看法)的价值很少。

但是,我花了5美分-可以快速,简单地安装Windows GUI,将Python和wxWidgets结合使用非常好。但是就像我说的那样,请自己尝试-即使没有太多的Python经验(我当然也没有太多),您就可以在一个小时左右的时间内完成一些简单但有用的操作。


1

如果有人通过搜索引擎出现在这里:您可以使用PAGE生成器快速生成一些Tkinter示例。它会生成一些不错的代码,这些代码将使您大致了解到达目的地的过程。正如作者所言,这绝对需要您默认一般性,但是对于想要测试水域或大致了解其前进方向的人来说,这是一个很好的工具。 PAGE在SourceForge上


-1

我认为某些类型的应用程序可以很好地用Python编写。

例如,任务教练是用Python / wxPython编写的。他们使用py2app,py2exe等Python2exe编译器来创建跨平台,本机外观的可执行文件。


-1

如果您仅限于在Windows生态系统中进行开发并使用Visual Studio,请考虑使用Iron Python。Iron Python是Python加.NET对象。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.