python系列tkinter之pack布局、place布局和grid布局

这篇具有很好参考价值的文章主要介绍了python系列tkinter之pack布局、place布局和grid布局。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

tkinter以提供3种界面组件布局管理的方法,分别是:pack,grid,place接下来我们来介绍pack、place和grid。

1、place布局

我们介绍place布局,就做一个简易的账号,密码登录的界面。

首先我们要知道place和其他两种布局方式相比,更加"自由"但是需要做的事情也多。布局一般就是设置子控件相对于父控件的 起始位置、宽和高。在pack、grid的布局方式中,起始位置、宽和高都会给默认配置,所以使用起来会更"简",代价就是"控制权"减少。所以place虽然"繁",但完全自主控制。三种布局方式,没有哪种最好,哪种不好,看实际需要求选着合适的即可。

首先我们先看运行示例,试想一下如何实现。
python系列tkinter之pack布局、place布局和grid布局

 然后我们再来学习代码

from tkinter import *
root = Tk()
root.title('登录')
root.geometry('400x200')
root.config(bg='#fffcc0')

def ok1():
    print("这是OK1")

def ok2():
    print("这是OK2")
    
Label(root,text='用户名',width=6).place(x=1,y=1)
Entry(root,width=20).place(x=45,y=1)
Label(root,text='密码',width=6).place(x=1,y=20)
Entry(root,width=20,show='*').place(x=45,y=20)
Button(root,text='登录',width=8,command=ok1).place(x=40,y=40)
Button(root,text='取消',width=8,command=ok2).place(x=110,y=40)
root.mainloop()

x

指定 控件的在x轴的坐标值

y

指定 控件在y轴的坐标值

调整(x,y)改变button的起始位置

2、grid布局

grid从字面意思上可以推断,这种布局方式就像网格一样来分布控件。那么具体会呈现什么样的效果,要怎么编码控制呢。同样的套路,通过实例来进行直观的讲解

今天我们用计算器的一种示例图来讲解

python系列tkinter之pack布局、place布局和grid布局

column

指定控件所在的列

row

指定控件所在的行

columnspan

指定每个控件横跨的列数

sticky

sticky类似于pack的anchor,决定控件在cell中锚点,也就是控件在cell中的起始位置,可设置的值为’n’, ‘ne’, ‘e’, ‘se’, ‘s’, ‘sw’, ‘w’, ‘nw’; ‘e’、‘w’、‘s’、'n’分别表示东西南北。

首先我们学习了一些简单的设置之后,我们来看看代码,试着理解下。

from tkinter import *
root=Tk()
root.title('计算器示例----2021110201142庄乾坤')
root.geometry("300x150+280+280")
root.config(bg='#cc66ff')
L1=Button(root,text='1',width=5,bg='yellow')
L2=Button(root,text='2',width=5,bg='red')
L3=Button(root,text='3',width=5,bg='blue')
L4=Button(root,text='4',width=5,bg='blue')
L5=Button(root,text='5',width=5,bg='green')
L6=Button(root,text='6',width=5,bg='red')
L7=Button(root,text='7',width=5,bg='green')
L8=Button(root,text='8',width=5,bg='pink')
L9=Button(root,text='9',width=5,bg='blue')
L0=Button(root,text='0',width=5,bg='yellow')
Lp=Button(root,text='.',bg='pink')
L1.grid(row=0,column=0)
L2.grid(row=0,column=1)
L3.grid(row=0,column=2)
L4.grid(row=1,column=0)
L5.grid(row=1,column=1)
L6.grid(row=1,column=2)
L7.grid(row=2,column=0)
L8.grid(row=2,column=1)
L9.grid(row=2,column=2)
L0.grid(row=3,column=0)
Lp.grid(row=3,column=2)

L1.grid(row=0,column=0,sticky=E+W)
L2.grid(row=0,column=1,sticky=E+W)
L3.grid(row=0,column=2,sticky=E+W)
L4.grid(row=1,column=0,sticky=E+W)
L5.grid(row=1,column=1,sticky=E+W)
L6.grid(row=1,column=2,sticky=E+W)
L7.grid(row=2,column=0,sticky=E+W)
L8.grid(row=2,column=1,sticky=E+W)
L9.grid(row=2,column=2,sticky=E+W)
L0.grid(row=3,column=0,columnspan=2,sticky=E+W)
Lp.grid(row=3,column=2,sticky=E+W)

root.mainloop()

 接下来我们学习tkinter库中pack参数

3、pack布局

  编写一个程序的界面,就是要把各个组件,以适当大小,定位到界面的某个位置。

  tkinter以提供3种界面组件布局管理的方法,分别是:pack,grid,place 这篇文章先来讲解pack 方法。

  pack() 方法的参数有:side, fill, padx/pady, ipadx/ipady, anchor, expand

首先我们看代码,尝试理解。

import tkinter
root=tkinter.Tk()
root.geometry('300x200+300+300')
root.title('pack布局')
root.config(bg='#ccff00')

label=tkinter.Label(root,text='hello,python')
label.pack()
button1=tkinter.Button(root,text='BUTTON1')
button1.pack(side=tkinter.LEFT)
button2=tkinter.Button(root,text='BUTTON2')
button2.pack(side=tkinter.RIGHT)
root.mainloop()

内容比较简单就不一条条说明了,集中需要注意的就是side

side: 决定组件停靠的方向。

 选项:left, right, top, bottom

 la1.pack( side=’top’) # 向上停靠 默认

 la1.pack( side=’bottom) # 向下停靠

 la1.pack( side=’left’) # 向左停靠

 la1.pack( side=’right’) # 向右停靠

看看视图:

python系列tkinter之pack布局、place布局和grid布局

好了,大家理解了这些布局的用法了嘛。文章来源地址https://www.toymoban.com/news/detail-496475.html

到了这里,关于python系列tkinter之pack布局、place布局和grid布局的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python图形界面教程(tkinter)

    1、图形化界面设计的基本理解 当前流行的计算机桌面应用程序大多数为图形化用户界面(Graphic User Interface,GUI),即通过鼠标对菜单、按钮等图形化元素触发指令,并从标签、对话框等图型化显示容器中获取人机对话信息。 Python自带了tkinter 模块,实质上是一种流行的面向对象

    2024年02月16日
    浏览(50)
  • python tkinter多个软件界面切换功能实现

    python tkinter多个软件界面切换功能实现 小程序的实现采用python中的tkinter创建主窗口,切换窗口采用tkinter模块的的frame窗口控件进行创建,通过不同的按键调用显示不同的操作界面。操作界面的显示使用try…except…finally进行显示。思路:在tkinter中想要实现多个界面的切换,需

    2024年01月22日
    浏览(46)
  • Python编程:Tkinter图形界面设计(1)

    目录 一、Tkinter的程序框架  二、窗口内容 2.1 窗口的几何尺寸 2.2 窗口的摆放位置 2.3  实验代码 2.4 控件管理 三、控件编程 窗口的生成和窗口的呈现,用Tk()和mainloop()包括起来,中间程序是附着在窗口的内部部件。 ​ 窗口的内容,是最丰富的细节包括:1、几何尺寸 2、按钮

    2024年02月07日
    浏览(64)
  • Python图形界面开发:Tkinter与PyQt

    Python是一种非常流行的编程语言,它拥有丰富的图形用户界面(GUI)开发库。其中,Tkinter和PyQt是最常用的两个库。下面是对这两个库的简单介绍。 1. Tkinter Tkinter是Python的标准图形用户界面库。它提供了一组简单的工具和函数,可以用来创建各种类型的窗口、按钮、文本框等

    2024年01月25日
    浏览(43)
  • Python GUI界面界面—tkinter,学习、复习、查阅,这一篇就够了

            PythonGUI程序界面设计tkinter优点:无需另外下载,是自带的、操作简单、易方便;                                                          缺点:界面控件较少,页面不够美观 注:一般来说做小软件tkinter足够了(页面可以用ttkbootstrap美化

    2024年01月17日
    浏览(58)
  • Python 图形化界面基础篇:安装 Tkinter 指南

    在学习 Python 图形化处理基础篇之前,首先需要安装 Tkinter ,这是 Python 标准库中用于创建图形用户界面( GUI )的库。 Tkinter 提供了一个简单而强大的方式来构建 GUI 应用程序,无论你是初学者还是有经验的开发者,都会发现它非常有用。在本文中,我们将深入讨论如何安装

    2024年02月07日
    浏览(41)
  • Python+Tkinter 图形化界面基础篇:添加图形和图像

    在 Python 图形化界面开发中,添加图形和图像可以使你的应用程序更具吸引力和可交互性。本篇博客将介绍如何在 Tkinter 中添加图形元素、绘制基本图形以及显示图像。我们将详细讨论这些概念,并提供示例代码以帮助你更好地理解。 在 Tkinter 中,可以使用 Canvas 小部件来添

    2024年02月03日
    浏览(49)
  • Python创建一个GUI(Tkinter)选择文件的界面获取文件路径

    1、点击【选择路径可以选择文件】 2、【确定(开始执行)】 这个按钮没有绑定函数,大家可以根据自己的需求绑定函数

    2024年02月11日
    浏览(70)
  • Python 图形化界面基础篇:添加按钮( Button )到 Tkinter 窗口

    欢迎来到 Python 图形化界面基础篇的新篇章!在本文中,我们将专注于 Tkinter 中如何添加按钮( Button ),这是创建交互性 GUI 应用程序的关键元素之一。按钮用于触发操作,让用户与应用程序进行互动。我们将详细解释如何在 Tkinter 窗口中添加按钮,以及如何为按钮定义响应

    2024年02月06日
    浏览(49)
  • Python tkinter(GUI编程)模块教程:打造出精美图形用户界面

    随着程序越来越复杂,命令行已经无法满足我们的需求,图形化界面已成为当前主流的界面设计。在Python中,tkinter是一种简单易用的GUI编程工具,可以帮助我们快速地创建图形用户界面。本文将通过实例详细介绍如何使用Python tkinter模块来打造出精美的图形用户界面。 安装

    2024年02月13日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包