使用Python的Tkinter创建GUI

时间:2014-10-05 17:33:34

标签: python tkinter

我写了以下代码:

from Tkinter import *

root = Tk()
root.title("Power Method")

labeltext1 = StringVar()  
labeltext2 = StringVar()
labeltext1.set('Parameters') # Set start value
labeltext2.set('Epsilon')

label1 = Label (root, textvariable = labeltext1, height = 4)
label1.pack()
Entry(root, textvariable = labeltext1). pack()
label2 = Label (root, textvariable = labeltext2)
label2.pack()
Entry(root, textvariable = labeltext2). pack()

checkBox1 = Checkbutton(root, text = "NumPy")
checkBox1.pack()
checkBox2 = Checkbutton(root, text = "Not NumPy")
checkBox2.pack() 

Button(root, text = "Exit").pack(side = RIGHT)
Button(root, text = "Compute").pack(side = RIGHT)

root.mainloop()

此代码在运行时会创建一个包含参数的窗口,Epsilon作为两个可以输入值的位置,NumPy和Not NumPy作为复选框,最后是计算和退出按钮。

我正在尝试格式化代码,参数和Epsilon出现在窗口左侧,Numpy和Not Numpy位于右侧,而Compute和Exit保持在当前位置。

有关格式化的任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

好的,你需要谷歌.grid()以及.pack().place()获取tkinter,以了解更多有关每项功能的信息。对于您的情况,您可以使用其中任何一种,但.grid()可能是您使用的最佳和最简单的方法。

要执行此操作,您必须将.pack()更改为.grid(),然后您应使用rowcolumn选项将您的小部件放在您想要的位置。 E.G。

label1.grid(row = 1, column = 1)
label2.grid(row = 1, column = 2)

这会将label2放在label1的右侧。 .grid()的工作方式是列与该列中最大(最宽)的窗口小部件一样宽,同样适用于行。

如果您还需要其他任何问题,请像布莱恩所说的那样查看文件。