python tkinter组件摆放方式详解

作者:手可摘星辰。 时间:2021-09-23 01:50:23 

1.最小界面组成


# 导入tkinter模块
import tkinter
# 创建主窗口对象
root = tkinter.Tk()
# 设置窗口大小(最小值:像素)
root.minsize(300,300)
# 创建一个按钮组件
btn = tkinter.Button(root,text = '屠龙宝刀,点击送')
btn.pack()
# 加入消息循环
root.mainloop()

设置初始化界面大小


# 设置初始化界面大小
root.geometry('300x400')

2.组件的摆放方式:

1.pack()方式 ->方向/方位摆放方法

2.grid()方式 ->网格摆放方法

3.place()方式 ->定位摆放方法

python tkinter组件摆放方式详解

3.pack布局介绍

pack()方式:

side 设置组件相对于父组件的摆放位置


# 导入tkinter模块
import tkinter
# 创建主窗口对象
root = tkinter.Tk()
# 设置窗口大小(最小值:像素)
root.minsize(500,500)
# 创建一个按钮组件
btn0 = tkinter.Button(root,text = '按钮1')
# 默认上边或 side = 'top'
btn0.pack()
btn1 = tkinter.Button(root,text = '按钮1')
# 下面
btn1.pack(side = 'bottom')
btn2 = tkinter.Button(root,text = '按钮2')
# 左边
btn2.pack(side = 'left')
btn3 = tkinter.Button(root,text = '按钮2')
# 右边
btn3.pack(side = 'right')
# 加入消息循环
root.mainloop()

ipadx,ipady 设置组件的内部间距


btn0 = tkinter.Button(root,text = '按钮1')
# 设置按钮中文字到边缘的间距
btn0.pack(ipadx = 20,ipady = 20)

padx,pady 设置多个组件外部间距


btn0 = tkinter.Button(root,text = '按钮1')
# padx设置组件外部左右间距,pady设置组件外部上下间距
btn0.pack(padx = 20,pady = 20)

fill 设置按钮站一行或者一列


btn1 = tkinter.Button(root,text = '屠龙宝刀点击就送!')# 该组件站水平方向的最大位置btn.pack(fill = 'x')btn2 = tkinter.Button(root,text = '屠龙宝刀点击就送!')# 该组件站垂直方向的最大位置,但必须是side = 'right'或'left'才会生效btn2.pack(fill = 'y',side = 'right')

expand 设置side是否失效


btn1 = tkinter.Button(root,text = '屠龙宝刀点击就送!')
# yes时side失效,按钮位于窗口中间,按钮占用所有水平和垂直的空间,此时fill = both 按钮站全部空间
btn1.pack(expand = 'yes',fill = 'both')

注意:仅仅使用pack无法实现表格方式,必须借助Franme组件才可以实现,非常复杂。

grid()方式:

row设置行数 默认为0

column设置列数 默认为0


btn1 = tkinter.Button(root,text = '按钮1')
btn1.grid()
btn2 = tkinter.Button(root,text = '按钮2')
btn2.grid(row = 1,column = 1)# 设置按钮位置
btn3 = tkinter.Button(root,text = '按钮3')
btn3.grid(row = 0,column = 1)

rowspan设置跨行数量

cloumnspan设置跨列数量

ipadx,ipady设置组件内部间距


btn1 = tkinter.Button(root,text = '按钮1')
btn1.grid()
btn2 = tkinter.Button(root,text = '按钮2')
btn2.grid(row = 1,column = 0)# 设置按钮位置
btn2 = tkinter.Button(root,text = '按钮2')
btn2.grid(row = 0,column = 2,rowspan = 2,ipady = 15)
btn2 = tkinter.Button(root,text = '按钮2')
btn2.grid(row = 2,column = 0,columnspan = 3,ipadx = 20)

place()方式:

绝对定位布局:

x设置距离左上角的水平长度单位都是像素

y设置距离左上角的垂直高度单位都是像素

width设置组件所占据的宽度单位都是像素

height设置组件所占据的高度单位都是像素


btn = tkinter.Button(root,text = '按钮')
# 位置距离左边100像素,距离上边20像素
btn.place(x = 100,y = 20)
btn1 = tkinter.Button(root,text = '按钮1')
# 设置按钮的宽度和高度
btn1.place(x = 100,y = 100,width = 100,height = 100)

相对定位布局:

relx设置距离左上角的水平长度取值(0-1)

rely设置距离左上角的垂直高度取值(0-1)

relwidth设置组件所占据的宽度取值(0-1)

relheight设置组件所占据的高度取值(0-1)

以上属性设置都是相对于界面宽度或者高度的百分比,可以更具界面的大小的改变而改变~!

!!!禁止同时使用两种摆放方式

来源:https://www.cnblogs.com/wangdianchao/p/11520916.html

标签:python,tkinter,组件,摆放
0
投稿

猜你喜欢

  • 在firefox里如何实现firebug的DOM inspect选择功能?

    2010-09-03 18:20:00
  • matlab xlabel位置的设置方式

    2022-06-11 06:51:24
  • Python 利用argparse模块实现脚本命令行参数解析

    2022-12-01 16:11:55
  • php header功能的使用

    2023-11-15 09:25:26
  • Python中使用logging和traceback模块记录日志和跟踪异常

    2023-09-20 16:08:51
  • python类继承用法实例分析

    2022-01-25 16:44:13
  • Python 中包/模块的 `import` 操作代码

    2021-07-10 02:52:20
  • 深入理解Python中的内置常量

    2023-01-21 02:57:47
  • 基于python实现FTP文件上传与下载操作(ftp&sftp协议)

    2021-11-03 00:11:26
  • python如何导入自己的模块

    2022-05-21 08:14:57
  • python爬虫之场内ETF基金获取

    2021-08-18 17:51:34
  • python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例

    2023-06-20 22:10:04
  • Jmeter通过OS进程取样器调用Python脚本实现参数互传

    2022-07-09 18:43:27
  • python切片(获取一个子列表(数组))详解

    2022-09-18 01:18:49
  • python 对类的成员函数开启线程的方法

    2021-09-11 17:12:42
  • python实现过滤敏感词

    2021-02-26 04:23:17
  • php使用pthreads v3多线程实现抓取新浪新闻信息操作示例

    2023-10-12 19:21:46
  • Python实现日志实时监测的示例详解

    2023-01-06 15:48:29
  • Python更换pip源方法过程解析

    2022-01-20 08:00:58
  • python妹子图简单爬虫实例

    2022-12-11 05:47:50
  • asp之家 网络编程 m.aspxhome.com