Python图形界面(GUI)Tkinter笔记(四):控件的定位(2)

        Tkinter(GUI)设计图形界面时有三种控件的包装方法去定位各控件在窗口(父容器、根窗口)上的位置。

【1】pack()方法:用方位来定位位置,类似于Word文档中的文字对齐方式。

【2】grid()方法:用二维表格式的坐标值定位,类似于EXCEL单元格坐标。

【3】place()方法:用窗口的像素进行定位,类似于坐标点定位。

         其余笔记:【Python图形界面(GUI)Tkinter笔记(总目录)】

【2】grid()方法:用二维表格式的坐标值定位,类似于EXCEL单元格坐标。

       grid(参数1,参数2......)

 【一些常用参数:】

  (1)row,column:配对使用,利用二维表格的坐标形式定位控件位置。

======================================================

      row=0,column=0    ;  row=0,column=1  ;  row=0,column=2  ......

      (0行,0列)         ;   (0行,1列)     ;   (0行,2列)      ......

 ======================================================

      row=1,column=0    ;  row=1,column=1  ;  row=1,column=2  ......

      (1行,0列)         ;   (1行,1列)     ;   (1行,2列)      ......

 ======================================================

      ........          ;   ........      ;   ........

=====================================================

  (2)padx/pady:设置控件边界间相互的距离或与父容器边框的距离,padx指水平距离,pady指垂直距离,单位是像素。

 (3)rowspan:设置控件所在行向右方向合并单元格数量,类似于EXCEL的水平向右的单元格合并。

 (4)columnspan:设置控件所在列向下方向合并单元格数量,类似于EXCEL的垂直向下的单元格合并。

  (5)sticky:设置控件按方位形式对齐,可设置为“n/s/w/e”等,其方位类似前面anchor方式的组合。

  (6)注:如果控件宽度不一时,Grid()方法则取最宽作为基准,较短的宽度控件则以居中方式对齐。

【例子更直观,练习1】

'''
Tkinter(GUI)设计图形界面时有三种控件的包装方法去定位各控件在窗口(父容器、根窗口)上的位置。
【1】pack()方法:用方位来定位位置,类似于Word文档中的文字对齐方式。
【2】grid()方法:用二维表格式的坐标值定位,类似于EXCEL单位元。
【3】place()方法:用窗口的像素进行定位,类似于坐标点定位。
'''
# 【2】grid()方法:用二维表格式的坐标值定位,类似于EXCEL单位元。
#      grid(参数1,参数2......)
# 一些常用参数:
# (1)row,column:配对使用,利用二维表格的坐标形式定位控件位置。
#     row=0,column=0    ;  row=0,column=1  ;  row=0,column=2  ......
#     (0行,0列)         ;   (0行,1列)     ;   (0行,2列)      ......
#=========================================================================
#     row=1,column=0    ;  row=1,column=1  ;  row=1,column=2  ......
#     (1行,0列)         ;   (1行,1列)     ;   (1行,2列)      ......
#=========================================================================
#      ........          ;   ........      ;   ........ 
# (2)padx/pady:padx/pady:设置控件边界间相互的距离或与父容器边框的距离,padx指水平距离,pady指垂直距离,单位是像素。
# (3)rowspan:设置控件所在行向右方向合并单元格数量,类似于EXCEL的水平向右的单元格合并。
# (4)columnspan:设置控件所在列向下方向合并单元格数量,类似于EXCEL的垂直向下的单元格合并。
# (5)sticky:设置控件按方位形式对齐,可设置为“n/s/w/e”等,其方位类似前面anchor方式的组合。
# (6)注:如果控件宽度不一时,Grid()方法则取最宽作为基准,较短的宽度控件则以居中方式对齐。
import tkinter as tk
RootWin = tk.Tk() # 创建父容器对象
RootWin.geometry("%dx%d+%d+%d"%(600,300,100,100)) # 设置根窗口的大小,及在屏幕上展示的位置
RootWin.title("父容器(根窗口)标题!") # 为父容器(根窗口)写上标题Label_1 = tk.Label(RootWin,text="标签1(0,0)",bg='yellow',width=16) # 创建第1个标签,背景色为黄色,宽度为16
Label_2 = tk.Label(RootWin,text="标签2(0,1)",bg='yellow',width=16) # 创建第2个标签,背景色为黄色,宽度为16
Label_3 = tk.Label(RootWin,text="标签3(0,2)",bg='yellow',width=16) # 创建第3个标签,背景色为黄色,宽度为16
Label_4 = tk.Label(RootWin,text="标签4(1,0)",bg='blue',width=16) # 创建第4个标签,背景色为蓝色,宽度为16
Label_5 = tk.Label(RootWin,text="标签5(1,1)",bg='blue',width=16) # 创建第5个标签,背景色为蓝色,宽度为16
Label_6 = tk.Label(RootWin,text="标签6(1,2)",bg='blue',width=16) # 创建第6个标签,背景色为蓝色,宽度为16
Label_7 = tk.Label(RootWin,text="标签7(2,0)",bg='yellow',width=16) # 创建第7个标签,背景色为黄色,宽度为16
Label_8 = tk.Label(RootWin,text="标签8(2,1)",bg='yellow',width=16) # 创建第8个标签,背景色为黄色,宽度为16
Label_9 = tk.Label(RootWin,text="标签9(2,2)",bg='yellow',width=16) # 创建第9个标签,背景色为黄色,宽度为16
Label_1.grid(row=0,column=0,padx=10,pady=10) # 包装且定位“标签1”控件,坐标为(0,0),标签左右上下间距为10个像素
Label_2.grid(row=0,column=1,padx=10,pady=10) # 包装且定位“标签2”控件,坐标为(0,1),标签左右上下间距为10个像素
Label_3.grid(row=0,column=2,padx=10,pady=10) # 包装且定位“标签3”控件,坐标为(0,2),标签左右上下间距为10个像素
Label_4.grid(row=1,column=0,padx=10,pady=10) # 包装且定位“标签4”控件,坐标为(1,0),标签左右上下间距为10个像素
Label_5.grid(row=1,column=1,padx=10,pady=10) # 包装且定位“标签5”控件,坐标为(1,1),标签左右上下间距为10个像素
Label_6.grid(row=1,column=2,padx=10,pady=10) # 包装且定位“标签6”控件,坐标为(1,2),标签左右上下间距为10个像素
Label_7.grid(row=2,column=0,padx=10,pady=10) # 包装且定位“标签7”控件,坐标为(2,0),标签左右上下间距为10个像素
Label_8.grid(row=2,column=1,padx=10,pady=10) # 包装且定位“标签8”控件,坐标为(2,1),标签左右上下间距为10个像素
Label_9.grid(row=2,column=2,padx=10,pady=10) # 包装且定位“标签9”控件,坐标为(2,2),标签左右上下间距为10个像素RootWin.mainloop()

【运行结果】

【例子更直观,练习2】

'''
Tkinter(GUI)设计图形界面时有三种控件的包装方法去定位各控件在窗口(父容器、根窗口)上的位置。
【1】pack()方法:用方位来定位位置,类似于Word文档中的文字对齐方式。
【2】grid()方法:用二维表格式的坐标值定位,类似于EXCEL单位元。
【3】place()方法:用窗口的像素进行定位,类似于坐标点定位。
'''
# 【1】grid()方法:用二维表格式的坐标值定位,类似于EXCEL单位元。
#      grid(参数1,参数2......)
# 一些常用参数:
# (1)row,column:配对使用,利用二维表格的坐标形式定位控件位置。
#     row=0,column=0    ;  row=0,column=1  ;  row=0,column=2  ......
#     (0行,0列)         ;   (0行,1列)     ;   (0行,2列)      ......
#=========================================================================
#     row=1,column=0    ;  row=1,column=1  ;  row=1,column=2  ......
#     (1行,0列)         ;   (1行,1列)     ;   (1行,2列)      ......
#=========================================================================
#      ........          ;   ........      ;   ........ 
# (2)padx/pady:padx/pady:设置控件边界间相互的距离或与父容器边框的距离,padx指水平距离,pady指垂直距离,单位是像素。
# (3)rowspan:设置控件的行合并控件位数量,相当于竖直方向的几行合并成一行。
# (4)columnspan:设置控件的列合并控件位数量,相当于水平方向的几列合并成一列。
# (5)sticky:设置控件按方位形式对齐,可设置为“n/s/w/e”等,其方位类似前面anchor方式的组合。
# (6)注:如果控件宽度不一时,Grid()方法则取最宽作为基准,较短的宽度控件则以居中方式对齐。
import tkinter as tk
RootWin = tk.Tk() # 创建父容器对象
RootWin.geometry("%dx%d+%d+%d"%(600,300,100,100)) # 设置根窗口的大小,及在屏幕上展示的位置
RootWin.title("父容器(根窗口)标题!") # 为父容器(根窗口)写上标题Label_1 = tk.Label(RootWin,text="标签1(0,0)",bg='yellow',width=16) # 创建第1个标签,背景色为黄色,宽度为16
Label_2 = tk.Label(RootWin,text="标签2(0,1)",bg='yellow',width=16) # 创建第2个标签,背景色为黄色,宽度为16Label_4 = tk.Label(RootWin,text="标签4(1,0)",bg='blue',width=16) # 创建第4个标签,背景色为蓝色,宽度为16
Label_5 = tk.Label(RootWin,text="标签5(1,1)",bg='blue',width=16) # 创建第5个标签,背景色为蓝色,宽度为16
Label_6 = tk.Label(RootWin,text="标签6(1,2)",bg='blue',width=16) # 创建第6个标签,背景色为蓝色,宽度为16Label_8 = tk.Label(RootWin,text="标签8(2,1)",bg='yellow',width=16) # 创建第8个标签,背景色为黄色,宽度为16
Label_9 = tk.Label(RootWin,text="标签9(2,2)",bg='yellow',width=16) # 创建第9个标签,背景色为黄色,宽度为16Label_1.grid(row=0,column=0) # 包装且定位“标签1”控件,坐标为(0,0),标签左右上下间距为10个像素# 包装且定位“标签2”控件,坐标为(0,1),把第1和第2列两列合并为一列,相当于水平方向的两个单元格合并
Label_2.grid(row=0,column=1,columnspan=2) 
# 包装且定位“标签4”控件,坐标为(1,0),把第1和第2行两行合并为一行,相当于竖直方向的两个单元格合并
Label_4.grid(row=1,column=0,rowspan=2) # 包装且定位“标签4”控件,坐标为(1,0),标签左右上下间距为10个像素
Label_5.grid(row=1,column=1) # 包装且定位“标签5”控件,坐标为(1,1),标签左右上下间距为10个像素
Label_6.grid(row=1,column=2) # 包装且定位“标签6”控件,坐标为(1,2),标签左右上下间距为10个像素Label_8.grid(row=2,column=1) # 包装且定位“标签7”控件,坐标为(2,1),标签左右上下间距为10个像素
Label_9.grid(row=2,column=2) # 包装且定位“标签9”控件,坐标为(2,2),标签左右上下间距为10个像素RootWin.mainloop()

【运行结果】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/690460.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络技术主要学什么内容,有哪些课程

计算机网络技术专业是一个涉及理论与实践紧密结合的学科,主要学习内容有计算机网络基础、网络设备技术、网络编程等内容,以下是上大学网(www.sdaxue.com)整理的计算机网络技术主要学什么内容,供大家参考! 基…

JVM 类加载机制

JVM 类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程。 加载 加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的 java.lang.class 对…

QX----mini51单片机学习---(7)矩阵键盘

目录 1矩阵键盘的识别 2相关c语言 3实践编程 1矩阵键盘的识别 假设按列扫描按下S6P30:0P34:1然后高流向低,P34:0,刚开始是0xf0:1111 0000 后面是0xe0:1110 0000 ,当是0xe0能确…

了解 Swagger 中 allOf 的最佳实践

Swagger 提供了一个名为 allOf 的特性,它是通过扩展已有的数据模型来构造更为复杂的数据结构的有效手段。这一特性主要用于数据模型的继承及属性的组合,有效减少了代码重复,同时增强了代码的可维护性与清晰度。访问 Swagger 官方网站可以获得…

合专家模型 (MoE) 详解

本文转载自:混合专家模型 (MoE) 详解 https://huggingface.co/blog/zh/moe 英文版:https://huggingface.co/blog/moe 文章目录 一、简短总结二、什么是混合专家模型?三、混合专家模型简史四、什么是稀疏性?五、混合专家模型中令牌的负载均衡…

简洁大气APP下载单页源码

源码介绍 简洁大气APP下载单页源码,源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面 效果截图 源码下载 简洁大气APP下载单页源码

Hive Transaction事务表(含实现原理)

Hive Transaction事务表 在Hive中,事务表(Transactional Tables)允许用户执行事务性操作,包括ACID(原子性、一致性、隔离性、持久性)特性。事务表是在Hive 0.14版本引入的,并且在后续版本中不断…

【本地部署及云化部署】

文章目录 本地部署及云化部署介绍 文章目录 文章目录一、本地部署模式二、云化部署模式总结 一、本地部署模式 需建设专业化机房,系统应用、前端软件全部安装到本地服务器上。需要专业的IT、网络安全、DBA、电气化工程师进行维护。近些年勒索病毒安全事件频发&am…

Q1季度破壁机家电线上市场现状分析:静音降噪仍是主要购买需求

随着生活水平的提高和居民收入提升,破壁机作为日常食品加工的厨卫小家电逐渐受到关注。 而今年Q1季度,线上破壁机市场发展不如预期。根据鲸参谋数据显示,在线上电商平台(京东天猫淘宝)销量累计超过211万元&#xff0c…

Baidu Comate:释放编码潜能,革新软件开发

Baidu Comate Baidu Comate,智能代码助手,凭借着文心大模型的强大支撑,结合了百度多年的编程实战数据和丰富的开源资源,形成了一款崭新的编码辅助利器。它不仅具备着高智能、多场景、价值创造的特质,更可广泛应用于各…

C# OpenCvSharp Demo - 棋盘格相机标定

C# OpenCvSharp Demo - 棋盘格相机标定 目录 效果 项目 代码 下载 效果 项目 代码 using OpenCvSharp; using System; using System.Collections.Generic; using System.Diagnostics; using System.Drawing; using System.Drawing.Imaging; using System.Text; using Sys…

判断点在多边形内部

0. 介绍 网上资料很多,只简单介绍下,方便自己今后的理解。 1. 射线法 从该点引一条射线出来,如果和多边形有偶数个交点,则点在多边形外部。 因为有入必有出,所以从外部引进来的射线一定是交多边形偶数个点。 如图…