Python连载61-tkinter三种布局
程序员文章站
2022-03-25 17:57:15
一、pack布局举例 #pack布局案例 import tkinter baseFrame = tkinter.Tk() #以下代码都是创建一个组件,然后布局 btn1 = tkinter.Button(baseFrame,text="A") btn1.pack(side=tkinter.LEFT, ......
一、pack布局举例
#pack布局案例 import tkinter baseframe = tkinter.tk() #以下代码都是创建一个组件,然后布局 btn1 = tkinter.button(baseframe,text="a") btn1.pack(side=tkinter.left,expand=tkinter.yes,fill=tkinter.y) btn2 = tkinter.button(baseframe,text="b") btn2.pack(side=tkinter.top,expand=tkinter.yes,fill=tkinter.both) btn2 = tkinter.button(baseframe,text="c") btn2.pack(side=tkinter.right,expand=tkinter.yes,fill=tkinter.none) btn2 = tkinter.button(baseframe,text="d") btn2.pack(side=tkinter.left,expand=tkinter.no,fill=tkinter.y) btn2 = tkinter.button(baseframe,text="f") btn2.pack(side=tkinter.bottom,expand=tkinter.yes) btn2 = tkinter.button(baseframe,text="g") btn2.pack(anchor=tkinter.se) baseframe.mainloop()
二、grid布局举例
1.通用使用方式:组件对象,grid(设置.......)
2.利用row,column编号,都是从0开始
3.sticky:n\e\s\w表示上下左右,用来决定组件从哪个方向开始
4.支持ipadx,padx等参数,跟pack函数含义一样
5.支持rowspan,columnspan,表示跨行,跨列数量
#pack布局案例 import tkinter # baseframe = tkinter.tk() # #以下代码都是创建一个组件,然后布局 # btn1 = tkinter.button(baseframe,text="a") # btn1.pack(side=tkinter.left,expand=tkinter.yes,fill=tkinter.y) # # btn2 = tkinter.button(baseframe,text="b") # btn2.pack(side=tkinter.top,expand=tkinter.yes,fill=tkinter.both) # # btn2 = tkinter.button(baseframe,text="c") # btn2.pack(side=tkinter.right,expand=tkinter.yes,fill=tkinter.none) # # btn2 = tkinter.button(baseframe,text="d") # btn2.pack(side=tkinter.left,expand=tkinter.no,fill=tkinter.y) # # btn2 = tkinter.button(baseframe,text="f") # btn2.pack(side=tkinter.bottom,expand=tkinter.yes) # # btn2 = tkinter.button(baseframe,text="g") # btn2.pack(anchor=tkinter.se) # # # baseframe.mainloop() baseframe2 = tkinter.tk() lb1 = tkinter.label(baseframe2,text="账号:") lb1.grid(row=0,sticky=tkinter.w) tkinter.entry(baseframe2).grid(row=0,column=1,sticky=tkinter.e) lb2 = tkinter.label(baseframe2,text="密码:") lb2.grid(row=1,sticky=tkinter.w) tkinter.entry(baseframe2).grid(row=1,column=1,sticky=tkinter.e) button = tkinter.button(baseframe2,text="登录").grid(row=2,column=1,sticky=tkinter.e) baseframe2.mainloop()
三、place布局
1.明确方位的摆放
2.相对位置布局,随意改变窗口大小会导致混乱。
3.使用place函数,分为绝对布局和相对布局,绝对布局使用x,y参数
4.相对布局使用relx.rely,relheight,relwidth.
四、源码
d61_threeframeoftkinter.py
https://github.com/ruigege66/python_learning/blob/master/d61_threeframeoftkinter.py
2.csdn:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料
下一篇: python中用修饰器进行异常日志记录