简单的问题:
什么是Python GUI API,以及任何给定API的优势是什么?
我不是在寻找一场宗教战争,我只是希望能够很好地处理Python GUI API方面的所有问题.
这是一个很好的清单.
我用过Tkinter和wxPython.Tkinter非常基础,不使用本机小部件.这意味着Tkinter应用程序在任何平台上看起来都一样 - 这可能听起来很吸引人,但在实践中,这意味着它们在任何平台上看起来都很丑: - /尽管如此,它很容易使用.我在Tkinter中发现Thinking非常有用,因为我之前从未做过任何GUI编程.但是,如果您熟悉框架和布局算法以及按钮和绑定等内容,则可以跳过该步骤.
你可以用Tix增加Tkinter(但要注意,Tix不能很好地使用py2exe).还可以查看Python Megawidgets,它使用Tkinter基础构建一些更高级的控件.
最后,Tkinter可以很好地使用shell:你可以启动解释器,执行"import tkinter","tk = tkinter.Tk()"等操作,并以交互方式构建GUI(并且它会响应).(我认为如果你使用IDLE,这不起作用)
wxPython看起来更好看,并且具有更大范围的控件.它是跨平台的(虽然在我的Mac上看起来有点挑剔)并且在每个平台上使用本机控件.不过,这有点令人困惑.它还附带了一个演示应用程序,可以展示其大部分功能,并为您提供实验的测试平台.关于wxPython的一些具体想法:
有三种(?)不同的方法来放置小部件.忽略其中两个; 只需使用Sizer.即使这样,您也可以只使用BoxSizer和GridBagSizer进行任何布局.
所有wx小部件都有ID.你不需要关心ID是什么,但是在过去(我认为)你确实需要知道,所以一些旧的代码将被充斥着明确的ID分配.并且大多数演示代码将在每个地方都有-1作为ID参数(尽管事实上这些方法都将ID作为关键字参数,默认为-1).
确保你获得标准的wxWidgets文档以及wxPython演示 - 你需要它们.
如果你想将wxPython与py2exe一起使用,并且你希望它在Windows XP上看起来不错,那么你的setup.py需要一些技巧.看到这里