Tkinter包布,局管理器的用法

  介绍

本篇内容主要讲解“Tkinter包布局管理器的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Tkinter包布局管理器的用法”吧!

重新审视一下前一篇文章中的代码:

<节> <>之前得到tkinter  import  * #,构建主窗口main =, Tk() #,构建标签标签(主要,文本=& # 39;Hello  Tkinter ! & # 39;) .pack() #,构建退出按钮按钮(主要,文本=& # 39;退出# 39;,,命令=main.quit) .pack() #,执行主循环main.mainloop ()   

程序在构建标签和按钮控件之后,两次调用包方法,在顶层窗口中摆放它们的位置:

 Tkinter包布局管理器的用法

虽然不知道为什么,反正画面就是变成了上面的样子。如果这样就可以满足需求当然好,如果想调整布的局,例如希望文字表示在按钮的左侧,该怎么做呢?这里先公布答案:

 
<节>
 #得到tkinter  import  * import  tkinter  as  tk #,构建主窗口main =, tk.Tk() #,构建标签tk.Label(主要,文本=& # 39;Hello  Tkinter ! & # 39;) .pack(=左,,=是的,扩张,填补=X) #,构建退出按钮tk.Button(主要,文本=& # 39;退出# 39;,,命令=main.quit) .pack(=左,,扩大=NO) #,执行主循环main.mainloop () 
  

上述代码执行后画面就会变成下面的样子:

 Tkinter包布局管理器的用法

这里涉及如何在窗口内对控件进行布局的问题.Tkinter管理布局的方式一共有三种,今天先说明第一种:包。

包布局遵循先到先得的原则安排控件的空间,它有几个常用参数。

首先是一面参数,它一同有4个可选值:左,上,右和底。含义是子窗口需要摆放在父窗口的什么位置,其中左和右属于水平布的局,顶部和底部是垂直布局。如果连续的水平或者垂直布的局,则不同控件分享父窗口的空间。如果发生了水平布局和垂直布局之间的切换,则切换后的布局占用切换前布局中一个控件的空间,例如下面的代码:

<节>
按钮(根,文本=癆AAAAAAAAAAAA") .pack(一边=左)按钮(根,文本=癆AAAAAAAAAAAA") .pack(一边=左)按钮(根,文本=癆AAAAAAAAAAAA") .pack(一边=最高)按钮(根,文本=癆AAAAAAAAAAAA") .pack(一边=最高)
  

生成的布局如下所示:

 Tkinter包布局管理器的用法

为了避免复杂化,我们为每个按钮使用了同样的文字列,因此看起来一切都好,但是如果使用了不同的文字列,情况又会有所变化,例如下面的代码:

<节>
按钮(根,文本=癈at") .pack(一边=左)按钮(根,文本=癉og") .pack(一边=左)按钮(根,文本=癟iger") .pack(一边=最高)按钮(根,文本=癇ear") .pack(一边=最高)
  

生成的画面就是这个样子:

 Tkinter包布局管理器的用法

由于文字列的不同,每个按钮的大小都会不同,这样很难看。

解决这个问题的第一步需要另外一个参数:扩张。它的取值可以是1或0,也可以是或否。当取值为1或者是的时,表示这个按钮希望占据比实际面积还要大的空间。我们可以使用扩大参数如下修改代码:

<节>
按钮(根,文本=癈at") .pack(=左,,扩大=Yes)按钮(根,文本=癉og") .pack(=左,,扩大=Yes)按钮(根,文本=癟iger") .pack(=最高,,扩大=Yes)按钮(根,文本=癇ear") .pack(=最高,,扩大=Yes) 
  

生成的画面如下:

 Tkinter包布局管理器的用法

画面中每个按钮占有的空间差不多一样大了,但是每个按钮的实际尺寸并不相同。

我们可以使用另外一个选填项来完成控件对自己分得空间的填充,它有三个可选值:X, Y和两本别表示不同的填充方向,例如我们可以使用如下代码实现水平方向的填充:

<节>
按钮(根,文本=癈at") .pack(=左,,=是的,扩张,填补=X)按钮(根,文本=癉og") .pack(=左,,=是的,扩张,填补=X)按钮(根,文本=癟iger") .pack(一边=,,扩大=是的,,填补=X)按钮(根,文本=癇ear") .pack(一边=,,扩大=是的,,填补=X) 
  

可以得到如下的画面:

 Tkinter包布局管理器的用法

Tkinter包布,局管理器的用法