python控件位置place_Python-Tkinter 组件之Place
Place
通常情况下不建议使用 place 布局管理器,因为对比起 pack 和 grid,place 要做更多的工作。不过纯在即合理,place 在一些特殊的情况下可以发挥妙用。请看下边例子。
代码
import tkinter as tk
root = tk.Tk()
def callback():
print("正中靶心")
tk.Button(root, text="点我", command=callback).place(relx=0.5, rely=0.5, anchor="center")
root.mainloop()
在某种情况下,或许你希望一个组件可以覆盖另一个组件,那么 place 又可以派上用场了。下边例子我们演示用 Button 覆盖 Label 组件:
import tkinter as tk
root = tk.Tk()
photo = tk.PhotoImage(file = "Python.gif")
tk.Label(root, image = photo).pack()
def callback():
print("正中靶心")
tk.Button(root, text="点我", command=callback).place(relx=0.5, rely=0.5, anchor="center")
root.mainloop()
应该不难看出,relx 和 rely 选项指定的是相对于父组件的位置,范围是 00 ~ 1.0,因此 0.5 表示位于正中间。那么 relwidth 和 relheight 选项则是指定相对于父组件的尺寸:
import tkinter as tk
root = tk.Tk()
tk.Label(root, bg="red").place(relx=0.5, rely=0.5, relheight=0.75, relwidth=0.75, anchor="center")
tk.Label(root, bg="yellow").place(relx=0.5, rely=0.5, relheight=0.5, relwidth=0.5, anchor="center")
tk.Label(root, bg="green").place(relx=0.5, rely=0.5, relheight=0.25, relwidth=0.25, anchor="center")
root.mainloop()
无论你如何拉伸改变窗口,三个 Label 的尺寸均会跟着改变(神同步~)。x 和 y 选项用于设置偏移(像素),如果同时设置 relx(rely)和 x(y),那 place 将优先计算 relx 和 rely,然后再实现 x 和 y 指定的偏移值。
方法
注:下边所有方法适用于所有组件
place(**options)
-- 下方表格详细列举了各个选项的具体含义和用法:
选项
含义
anchor
1. 控制组件在 place 分配的空间中的位置
2. "n", "ne", "e", "se", "s", "sw", "w", "nw", 或 "center" 来定位(ewsn代表东西南北,上北下南左西右东)
3. 默认值是 "nw"
bordermode
1. 指定边框模式("inside" 或 "outside")
2. 默认值是 "inside"
height
指定该组件的高度(像素)
in_
1. 将该组件放到该选项指定的组件中
2. 指定的组件必须是该组件的父组件
relheight
1. 指定该组件相对于父组件的高度
2. 取值范围 0.0 ~ 1.0
relwidth
1. 指定该组件相对于父组件的宽度
2. 取值范围 0.0 ~ 1.0
relx
1. 指定该组件相对于父组件的水平位置
2. 取值范围 0.0 ~ 1.0
rely
1. 指定该组件相对于父组件的垂直位置
2. 取值范围 0.0 ~ 1.0
width
指定该组件的宽度(像素)
x
1. 指定该组件的水平偏移位置(像素)
2. 如同时指定了 relx 选项,优先实现 relx 选项
y
1. 指定该组件的垂直偏移位置(像素)
2. 如同时指定了 rely 选项,优先实现 rely 选项
place_configure(**options)
-- 跟 place() 一样
place_forget()
-- 将组件从屏幕中“删除”
-- 并没有销毁该组件,只是看不到了
-- 可以通过 place 或其他布局管理器显示已“删除”的组件
place_info()
-- 以字典的形式返回当前 place 的选项
place_slaves()
-- 以列表的形式返回该组件的所有子组件
-- 该方法仅适用于父组件
slaves()
-- 跟 place_slaves() 一样
python控件位置place_Python-Tkinter 组件之Place相关推荐
- python控件位置place_python tkinter中place绝对布局怎么用?
要是想在图形界面中去找一个非常简单的布局控件,place一定是首当其中,初了解 tkinter模块时候,最先接触的就是这个布局,因为足够的简单还好调用,一般情况下我们会只使用这个做布局,但是有一点是需 ...
- python 控件叠加_Python3 tkinter基础 Checkbutton anchor for生成多个控件并西对齐
? ???????Python : 3.7.0 ?????????OS : Ubuntu 18.04.1 LTS ????????IDE : PyCharm 2018.2.4 ??????Conda ...
- html 控件坐标定位,利用JS改变html控件位置
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 利用JS改变html控件位置 我想写一个贪吃蛇小游戏,所以需要完成蛇的自动移动效果,这就需要改变html控件位置.本来我 ...
- WPF 获取鼠标屏幕位置、窗口位置、控件位置
原文:WPF 获取鼠标屏幕位置.窗口位置.控件位置 public struct POINT{public int X;public int Y;public POINT(int x, int y){t ...
- android控件之间的过渡动画效果,Android - 交换控件位置:基于LayoutParams的瞬间交换与基于ObjectAnimator动画效果交换...
现需要交换两个控件(本文中是两个RelativeLayout),找到了两个方法: 1.使用LayoutParams改变两个layout的属性,即其相对关系(below等),实现位置的交换,但是并没有交 ...
- 【转】关于EASYSIZE宏(动态调整控件位置、大小的宏)
假设创建的对话框的类名是CMyDlg,具体过程如下: 步骤一:把easysize.h拷贝到CMyDlg项目文件夹中,同时在CMyDlg的.h文件和.cpp文件中加入#include "eas ...
- c++ MFC 根据屏幕分辨率变化自动调整控件位置和大小
在mfc应用程序开发过程中经常遇到应用场景分辨率不同对应窗口的控件相对位置不同,现在通过在给窗口做尺度变换后,原来的控件位置和大小跟着变,导致界面看起来仍然协调,如下: 缩放前: 缩放后 要解决这个问 ...
- Android Studio 线性布局Linearlayout的控件位置控制l属性Layout_margin失效问题解决
Android Studio 线性布局Linearlayout的控件位置控制l属性Layout_margin失效问题解决 问题:如layout_marginRight ="50dp" ...
- Qt鼠标相对位置、绝对位置、窗口位置、控件位置、控件大小、控件绝对位置
目录 坐标系 鼠标位置 控件位置 控件的相对位置 控件绝对位置 控件的大小,rect 窗口位置 窗口的大小 窗口绝对位置 窗口相对位置 总结 在Qt界面开发时,有时需要根据鼠标位置,控件位置来确定 ...
最新文章
- 使用Github+Hexo框架搭建部署自己的博客
- 收藏:通信网络基础知识
- 【计组实验】P1 logisim完成单周期处理器开发 MIPS指令集
- iOS https双向配置
- iOS使用自定义字体(添加字体包)
- php 支付加密,关于支付时rsa加密解密的函数
- Codeforces 216D Spider#39;s Web 树状数组+模拟
- CenterNet+ deepsort实现多目标跟踪
- 单片机拼字程序怎么做_小程序商城怎么做?做一个小程序需要多少钱
- 单处理器调度算法详解
- 2021-1123梦笔记
- 网易笔试——迷路的牛牛
- QT制作简易串口助手
- python中pd是什么意思_何时申请(pd.to_numeric)以及何时在python中使用...
- 百度坐标转WGS84(即GPS)坐标
- 获取计算机管理权限,Win7如何获得管理员权限
- 10月15python
- 如何了解一个软件的设计?
- rule34服务器不稳定,rule34网站
- 上海市高等学校计算机等级一级,上海市高等学校计算机等级考试一级.pdf