为Tkinter指定的画布单位是什么?

2024-09-30 07:29:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道这是一个微不足道的问题,但我还是很困惑。在

我有一台13英寸的带视网膜显示屏的MacBookPro。我的系统在系统报告中声明分辨率为2560×1600。我假设tkinter中的Canvas命令以像素度量高度和宽度,tk documentation似乎也表明了这一点。但是下面的代码,我使用1200作为tkinter画布的宽度,700作为tkinter画布的高度,生成一个大部分填充我的屏幕的画布。在

画布的高度和宽度是多少单位?在

from tkinter import *

master = Tk()

x = 1200
y = 700

w = Canvas(master, width=x, height=y)
w.pack()


mainloop()

Tags: 命令master声明宽度高度tkinter系统画布
1条回答
网友
1楼 · 发布于 2024-09-30 07:29:42

你是对的,TkInter是用像素来衡量大小的。但是:

Retina Display具有更高密度的硬件像素,使显示器看起来更清晰。但是,请注意,这些并不对应于程序使用的渲染像素。 来自Wikipedia

When an Apple product has a Retina Display, each user interface widget is doubled in width and height to compensate for the smaller pixels. Apple calls this mode HiDPI mode

对于任何具有高像素密度(DPI)的显示器来说也是如此。 因此,如果你想让你的小部件处于屏幕宽度/高度的某个百分比,你应该首先检测你是否在HiDPI显示器上,并相应地缩放你的小部件。This question可能有帮助。在

相关问题 更多 >

    热门问题