如何设计Python GUI程序
我现在有一个可以在命令行中运行的Python代码。请问我该如何把它转换成一个图形界面程序(GUI)。我知道怎么设计图形界面,比如制作按钮、回调函数、创建文本框和标签等。不过,我的问题是,图形界面应该如何和现有的程序连接起来。
我应该创建一个叫做gui.py的Python文件,然后在主程序中导入它吗?
..还是应该反过来...
n = int(raw_input('enter an integer: '))
def fx(n):
result = ''
for i in xrange(1,11):
result += "{} x {} = {}\n".format(i,n,i*n)
return result
print fx(n)
上面的程序会打印一个整数的乘法表。那么图形界面程序应该是什么样的呢(包含一个输入框、按钮和一个文本框用于输出结果)。这个程序应该调用图形界面的代码,还是应该把这个代码(fx()函数)放在GUI类里面呢?
2 个回答
1
我觉得答案主要取决于你选择哪个图形用户界面(GUI)框架。如果你的代码很简单,就像你发的那段,可能可以直接用自带的 tkinter。这样的话,我同意 shaktimaan 的建议,直接把 tkinter 的命令加到你现有的代码里就行。不过,你还有很多其他选择,比如 PyQT、PySide、kivy 等等。这些框架都可以把程序逻辑和界面代码分开,但实现的方式各不相同。
所以,如果你对 tkinter 不满意,可以先了解一下这些框架,然后做个选择。如果你不确定怎么分开这些代码,可以再问我。
2
因为图形用户界面(GUI)是用户看到的前端界面,而且你的功能已经存在,所以最简单的方法就是创建一个GUI类来引入这个功能。当发生某个事件时,GUI会调用这个功能,并把结果展示给用户。
实际上,这正是你在示例代码中用命令行界面(CLI)所做的事情 :)