python学习-->tkinter模块学习之position(位置)

大家好!

最近在备考,时间耽搁了一下,更新有点慢!

今天我想分享的是在tkinter里面放置位置的三个方法!!!

先上代码,然后我一个一个演示一下!

import tkinter as tk

window = tk.Tk()
window.title("Holy")
window.geometry("400x300")

# 第一 种放置位置的方法
# 事件.pack()
# tk.Label(window, text=1, bg="red").pack(side="top")
# tk.Label(window, text=1, bg="red").pack(side="right")
# tk.Label(window, text=1, bg="red").pack(side="bottom")
# tk.Label(window, text=1, bg="red").pack(side="left")

# 第二种方法
# 事件.gird()
# padx为两个字的行距,列距
# for k in range(6):
#     for n in range(6):
#         tk.Label(window, text=1, bg="blue", font=("黑体", 20)).grid(row=k, column=n,
#         padx=10, pady=10)

# 第三种方法
# 直接找到具体放置的位置
# 事件.place()
"""anchor解析:1. 控制文本(或图像)在 Label 中显示的位置2. N, NE, E, SE, S, SW, W, NW,
或 CENTER 来定位(EWSN 代表东西南北,上北下南左西右东(在我们输出看的时候南北是反过来的))3. 默认值是 CENTER
,相当于设置好以哪个位置为原点罢了"""
# anchor也可以不设置,我感觉有点鸡肋。不过也可以了解一下
tk.Label(window, text=1, bg="red", fg="blue", font=("Arial", 50)).place(x=100, y=100, anchor="se")

window.mainloop()

第一种方法,我们先看看我之前一直用的放置方法:

xxx.pack()

对于xxx.pack()其实我们还是可以在括号里面设置参数的,比如:
 

# 第一 种放置位置的方法
# 事件.pack()
 tk.Label(window, text=1, bg="red").pack(side="top")
 tk.Label(window, text=1, bg="red").pack(side="right")
 tk.Label(window, text=1, bg="red").pack(side="bottom")
 tk.Label(window, text=1, bg="red").pack(side="left")

这里我创建一个标签进行演示:

不太清楚标签的可以看看这个标签

 对于top的话就是在顶部,bottom就是底部,然后right就是右部分,left就是左部分,基本上都是位于中央部分的,不着重具体位置可以使用,不然不太好!

第二种方法,就是用 xxx.grid()这个方法:

xxx.grid()这个方法需要配合我们的for遍历去使用,因为它的参数里面row和column是代表我们要设置就输出几行几列的文本内容,比如我们下面的例子:

文本内容是"1",然后是6行6列

padx=10,pady=10就是对应的格子的间隔

# 第二种方法
# 事件.gird()
# padx为两个字的行距,列距
for k in range(6):
    for n in range(6):
        tk.Label(window, text=1, bg="blue", font=("黑体", 20)).grid(row=k, column=n,
        padx=10, pady=10)

演示结果是这样的:

 这种方式我觉得弄表格方面的窗口很方便,但是说用做优美的窗口的话,不太推荐。

比如我它们设置为padx=1,pady=1,结果是这样的:

第三种方法,就是我比较喜欢用的;xxx.place():

这个方法可以设置具体位置,比如我们代码那个:

# 第三种方法
# 直接找到具体放置的位置
# 事件.place()
"""anchor解析:1. 控制文本(或图像)在 Label 中显示的位置2. N, NE, E, SE, S, SW, W, NW,
或 CENTER 来定位(EWSN 代表东西南北,上北下南左西右东(在我们输出看的时候南北是反过来的))3. 默认值是 CENTER
,相当于设置好以哪个位置为原点罢了"""
# anchor也可以不设置,我感觉有点鸡肋。不过也可以了解一下
tk.Label(window, text=1, bg="red", fg="blue", font=("Arial", 50)).place(x=100, y=100, anchor="se")

演示结果:

 我上面设置的是x=100,y=100,我改成都是200,给大家看看:

tk.Label(window, text=1, bg="red", fg="blue", font=("Arial", 50)).place(x=200, y=200, anchor="se")

因为我现在窗口尺寸比较小,所以,如果一些x,y的调完之后,可能看不见标签了!比如设置为都为1,这个时候我们把窗口全屏就行了!

好了,今天的分享就这么多了,有什么不清楚或者我写错的地方,请多多指教!

私信,评论我呗!!!!!!

分享一张萌图!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值