《tkinter实用教程四》tkinter 布局管理 Grid,web开发学习教程

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
img

正文

代码示例如下:

from tkinter import *

from tkinter import ttk

root = Tk()

btn = ttk.Button(root,text=“一个按钮”)

btn.grid(column=0,row=0)

btn2 = ttk.Button(root,text=“两个按钮”)

btn2.grid(column=0,row=1,ipadx=10)

btn3 = ttk.Button(root,text=‘三个按钮’)

btn3.grid(column=0,row=2,ipady=10)

btn4 = ttk.Button(root,text=“四个按钮”)

btn4.grid(column=0,row=3,ipady=10,ipadx=10)

root.mainloop()

代码执行结果如下图:

在这里插入图片描述

按钮控件的内部被填充了额外的控件,变得臃肿。

padx、pady 参数

padxpady 参数属于外边距,类似于 css 样式中的 margin 参数。

padx:外部横向填充,添加到控件外部的左侧和右侧。

pady:外部纵向填充,添加到控件外部的上侧和下侧。

示例代码如下:

from tkinter import *

from tkinter import ttk

root = Tk()

btn = ttk.Button(root,text=“一个按钮”)

btn.grid(column=0,row=0)

btn2 = ttk.Button(root,text=“两个按钮”)

btn2.grid(column=0,row=1,pady=10)

btn3 = ttk.Button(root,text=‘三个按钮’)

btn3.grid(column=0,row=2)

btn4 = ttk.Button(root,text=“四个按钮”)

btn4.grid(column=1,row=0,padx=10)

root.mainloop()

代码执行结果如下图:

在这里插入图片描述

第二个和第四个按钮因为增加了外边距和其他按钮中间产生了空隙。

sticky 参数

sticky 选项确定如何在单元格内分配控件件未以其自然大小占用的任何额外空间。

如果不指定 sticky 参数,控件将居于单元格中部,未占据的额外控件均匀分布四周。

sticky 有四个可选值,分别为:NSWE,分别对应上、下、左、右。

sticky=(N,S) 使控件上下方向拉伸,并保持横向居中。

sticky=(W,E) 使控件左右方向拉伸,并保持上下居中。

示例代码如下:

from tkinter import *

from tkinter import ttk

root = Tk()

btn1 = ttk.Button(root,text=“第一个按钮”)

btn2 = ttk.Button(root,text=“第二个按钮”)

btn3 = ttk.Button(root,text=“第三个按钮”)

btn4 = ttk.Button(root,text=“第四个按钮”)

btn5 = ttk.Button(root,text=“第五个按钮”)

btn1.grid(column=0,row=0,sticky=N)

btn2.grid(column=0,row=1,sticky=E)

btn3.grid(column=0,row=2,sticky=W)

btn4.grid(column=0,row=3,sticky=S)

btn5.grid(column=0,row=4,sticky=(E,W))

root.columnconfigure(0,weight=1)

root.rowconfigure(2,weight=1)

root.rowconfigure(3,weight=1)

root.mainloop()

代码执行结果:

在这里插入图片描述

rowconfigurecolumnconfigure 方法可以设定每个行和列的比例,我们可以通过这种方式使控件伴随窗口大小变化,自动适应。

编写一个简单的计算器界面

编写一个简单的计算器界面是练习 grid 布局最有效的方式,下面代码就是一个计算器界面的简单实现:

from tkinter import *

from tkinter import ttk

root = Tk()

s = ttk.Style()

s.configure(‘1.TFrame’,background=‘red’,width=16)

s.configure(‘1.TButton’,width=3)

main = ttk.Frame(root,style=‘1.TFrame’)

ety = ttk.Entry(main,width=17)

btn_add = ttk.Button(main,text=’ + ',style=‘1.TButton’)

btn_ac = ttk.Button(main,text=“AC”,style=‘1.TButton’)

btn_del = ttk.Button(main,text=“Del”,style=‘1.TButton’)

btn_mol = ttk.Button(main,text=" % ",style=“1.TButton”)

btn_div = ttk.Button(main,text=’ ÷ ',style=“1.TButton”)

btn_7 = ttk.Button(main,text=" 7 ",style=‘1.TButton’)

btn_8 = ttk.Button(main,text=" 8 ",style=‘1.TButton’)

btn_9 = ttk.Button(main,text=" 9 ",style=“1.TButton”)

btn_times = ttk.Button(main,text=’ × ',style=“1.TButton”)

btn_4 = ttk.Button(main,text=" 4 ",style=‘1.TButton’)

btn_5 = ttk.Button(main,text=" 5 ",style=‘1.TButton’)

btn_6 = ttk.Button(main,text=" 6 ",style=“1.TButton”)

btn_minus = ttk.Button(main,text=’ - ',style=“1.TButton”)

btn_1 = ttk.Button(main,text=" 1 ",style=‘1.TButton’)

btn_2 = ttk.Button(main,text=" 2 ",style=‘1.TButton’)

btn_3 = ttk.Button(main,text=" 3 ",style=“1.TButton”)

btn_add = ttk.Button(main,text=’ + ',style=“1.TButton”)

btn_dot = ttk.Button(main,text=" . ", style=“1.TButton”)

btn_0 = ttk.Button(main,text=" 0 ",style=“1.TButton”)

btn_eq = ttk.Button(main,text=" + ",width=7)

ety.grid(column=0,row=0,columnspan=4,sticky=(E,W))

btn_ac.grid(row=1,column=0,sticky=(E,W))

btn_del.grid(row=1,column=1,sticky=(E,W))

btn_mol.grid(row=1,column=2,sticky=(E,W))

btn_div.grid(row=1,column=3,sticky=(E,W))

btn_7.grid(row=2,column=0,sticky=(E,W))

btn_8.grid(row=2,column=1,sticky=(E,W))

btn_9.grid(row=2,column=2,sticky=(E,W))

btn_times.grid(row=2,column=3,sticky=(E,W))

btn_4.grid(row=3,column=0,sticky=(E,W))

btn_5.grid(row=3,column=1,sticky=(E,W))

btn_6.grid(row=3,column=2,sticky=(E,W))

btn_minus.grid(row=3,column=3,sticky=(E,W))

btn_1.grid(row=4,column=0,sticky=(E,W))

btn_2.grid(row=4,column=1,sticky=(E,W))

btn_3.grid(row=4,column=2,sticky=(E,W))

btn_add.grid(row=4,column=3,sticky=(E,W))

btn_dot.grid(row=5,column=0,sticky=(E,W))

btn_0.grid(row=5,column=1,sticky=(E,W))

btn_eq.grid(row=5,column=2,columnspan=2,sticky=(E,W))

main.grid(column=0,row=0,sticky=(E,W,N,S))

main.columnconfigure(0,weight=1)

main.columnconfigure(1,weight=1)

总结

技术学到手后,就要开始准备面试了,找工作的时候一定要好好准备简历,毕竟简历是找工作的敲门砖,还有就是要多做面试题,复习巩固。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
到手后,就要开始准备面试了,找工作的时候一定要好好准备简历,毕竟简历是找工作的敲门砖,还有就是要多做面试题,复习巩固。

[外链图片转存中…(img-5JGX3G0C-1713419534116)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-dH5RkmEi-1713419534116)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值