2012-10-29 29 views
0

我已经看过了可以回答我的问题类似的问题,但我仍然对如何去非常清楚以下几点:移植一个Python shell程序一个Tkinter的GUI

我可以创建在Python运行程序壳牌在空闲,我还可以设置窗口,在Tkinter的部件,但无论我在Tkinter的创建是没有意义的,因为我无法弄清楚如何把我的Python shell代码,并在Tkinter的GUI“包装”它。

我假设它不能这样做,这完全是新代码的编写必须协助特定于Tkinter的语言。我很困惑如何创建一个全面的程序,而不会留下只带有随机按钮,标签,条目等的GUI“骨架”,以及一个非常不具吸引力并且只能在丑陋的小Shell中运行的Python程序。

+1

这是很难理解你设法做什么,你想要完成的任务。也许你可以提供一个例子(理想情况下不是你所有的代码,但有意义的部分)到目前为止你所尝试的。 – FabienAndre

+0

我不认为他是在寻求具体的帮助,而是一个大问题类型的问题;基本上是“什么是GUI?”。 – DaveTheScientist

回答

0

你Tkinter的创造什么,不是没有意义的。这听起来像你试图编译Python中的独立程序,使用Tkinter库来提供GUI。一旦你有一个脚本工作,你可以使用一个程序编译成一个独立的程序。请在Windows上使用py2app,或在Windows上使用py2exe。谷歌他们,看看这是你在找什么。

+0

非常感谢Dave!我以后肯定会需要py2app,但是这会允许我运行一个python程序,并且不会在tkinter窗口中显示某些输出,并且不会在python shell中显示其他输出?从我研究过py2app让我冻结我的程序或几乎编译它,特别是分发目的。 – Joseph

+0

-1题外话,海报问题没有包装相关 – FabienAndre

+0

/分销如果我理解正确的话,你说的GUI的那目的是什么代码的形式取决于。 – Joseph

0

移植的命令行到GUI应用程序可能需要一些返工(取决于你想要达到的互动程度)。

基本上,在一个GUI应用程序中,您在启动时会创建几个小部件(按钮...),然后根据用户输入的“反应”执行所有操作。通常都是通过做到这一点结合回调到您的小部件(按钮,输入字段),然后输入主循环(或事件循环)。 你可能会读这个chapter about events and binding

如果您的应用主要是面向计算,提供GUI以“启动”按钮,输出场是直截了当的。如果您执行一些命令行输入,则可以低成本切换到窗口小部件输入。更多交互式应用程序将需要架构为交互功能。