Python如何使用Tkinter网格布局管理器

  

Python如何使用Tkinter网格布局管理器?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

很多时候Tkinter界面编程都会优先考虑使用包布的局,但实际上Tkinter后来引入的网格布局不仅简单易用,而且管理组件也非常方便。

电网把组件空间分解成一个网格进行维护,即按照行,列的方式排列组件,组件位置由其所在的行号和列号决定,行号相同而列号不同的几个组件会被依次上下排列,列号相同而行号不同的几个组件会被依次左右排列。

使用网格布局的过程就是为各个组件指定行号和列号的过程,不需要为每个网格都指定大小,网格布局会自动为它们设置合适的大小。

程序调用组件的网格()方法就进行网格布的局,在调用网格()方法时可传入多个选项,该方法支持的ipadx, ipady, padx, pady与包()方法的这些选项相同。而网格()方法额外增加了如下选项:

专栏:指定将组件放入哪列。第一列的索引为0。

columnspan:指定组件横跨多少列。

行:指定组件放入哪行。第一行的索引为0

行宽:指定组件横跨多少行。

粘:有点类似于包()方法的锚选项,同样支持N(北,代表上),E(东,代表右),S(南,代表下),W(西,代表左)、西北(西北,代表左上),NE(东北,代表右上)、西南(西南,代表左下),SE(东南,代表右下),中心(中,默认值)这些值。

下面程序使用网格布局来实现一个计算器界面:

#,Python  2. x使用这行   #得到Tkinter  import  *   #,Python  3. x使用这行   得到tkinter  import  *      class 应用程序:   ,,,def  __init__(自我,,主):   ,,,,,,,self.master =,主人   ,,,,,,,self.initWidgets ()   ,,,def  initWidgets(自我):   ,,,,,,,#,创建一个输入组件   ,,,,,,,e =,条目(救援=沉,字体=(& # 39;Courier 新# 39;,,24),,宽度=25)   ,,,,,,,#,对该输入组件使用包布的局,放在容器顶部   ,,,,,,,e.pack(一边=,,pady=10)   ,,,,,,,p =,框架(self.master)   ,,,,,,,p.pack(一边=最高)   ,,,,,,,#,定义字符串的元组   ,,,,,,,names =, (“0“,,,, 1,,,,, 2,,,,“3”;   ,,,,,,,,,,,,,“4“,,,”5“,,,“6“,,,“7“,,,“8”,,,“9”;   ,,,,,,,,,,,,,“+”,,,“产生绯闻;,,,“*“,,,”/?,,“管理者”,,,“=?   ,,,,,,,#,遍历字符串元组   ,,,,,,,for 小姐:拷贝范围(len(名称):   ,,,,,,,,,,,#,创建按钮,将按钮放入p组件中   ,,,,,,,,,,,b =,按钮(p,文本=[我],名字,字体=(& # 39;verdana # 39;,, 20),,宽度=6)   ,,,,,,,,,,,b.grid(行=小姐://,,,列=小姐:%,4)   root =, Tk ()   root.title(“网格布局“)   应用程序(根)   root.mainloop ()

上面程序实际上使用了两个布局管理器进行嵌套,先使用包布局管理两个组件,分贝是条目(输入组件)和框架(容器),这两个组件就会按照从上到下的方式排列。

接下来程序使用网格布局管理框架容器中的16个按钮,分别将16个按钮放入不同的行,不同的列。运行上面程序,可以看到如下图所示的界面。

 Python如何使用Tkinter网格布局管理器

看完上述内容,你们掌握Python如何使用Tkinter网格布局管理器的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

Python如何使用Tkinter网格布局管理器