python - Tkinter 完美正方形的 X 和 Y 是多少?
问题描述
快速提问,当你将类似的东西padx = 10, pady = 10
放入标签/按钮时,它会给你一个矩形。
有谁知道 X 乘 Y 是一个完美的正方形吗?
解决方案
标签的宽度和高度取决于几个因素 - 使用的字体、使用的图像、边框宽度、填充等。然而,其中许多是对称的。
如果你想要一个完美的正方形,你需要从一个图像开始(这会导致width
和height
属性被视为像素),或者一个字符与它们一样高的字体(即使你没有任何文本)。
换句话说,没有图像height
并width
指代一些平均大小的字符。除非您的字体在 x 和 y 轴上相同,否则这些属性将解析为不同数量的像素。如果您在标签中包含一个图像——即使只是一个像素图像——那么width
并且height
以像素为单位而不是字符。
这是一个使用图像创建方形标签的示例:
import tkinter as tk
root = tk.Tk()
root.geometry("200x200")
image = tk.PhotoImage(width=1, height=1)
label = tk.Label(root, image=image, width=50, height=50, background="red")
label.place(relx=.5, rely=.5, anchor="c")
root.mainloop()
推荐阅读
- r - Coxph 长格式问题错误
- windows - 使用任务列表将其他详细信息输出到命令行
- assembly - 程序段前缀地址 00h-001h 内容类型?
- bash - 在 tox 中运行条件 bash 命令
- javascript - Google Visualization 表格图表单击并返回行/列值不适用于启用分页
- linux - 如何从 nmap 结果中仅获取 IP 地址
- compiler-errors - 为什么使用 f32::consts::E 会给出错误 E0223 但 std::f32::consts::E 不会?
- python - 我需要能够从 USB 运行 pycharm + 模块
- ms-access - 访问中的图像抓取
- php - 使用 php 从 SQL DB 获取值并在 HTML5 中使用它