我正在写一个tkinter应用程序,我希望小部件在显示屏上以英寸为单位指定尺寸。我有一个24英寸的三星显示屏插在一个Mac Mini上。显示屏宽约520毫米,高295毫米。当我试图以英寸为单位指定画布小部件的尺寸时,所有部件都太小了大约三分之一。在
以下是我尝试过的:
from tkinter import *
root = Tk()
root.winfo_screenmmheight()
381
root.winfo_screenmmwidth()
677
root.winfo_screenheight()
1080
root.winfo_screenwidth()
1920
1080/381
2.8346456692913384
1920/677
2.8360413589364843
_*25.4 # 25.4 millimeters per inch
72.0354505169867
root.tk.call('tk', 'scaling', 1.33)
''
root.winfo_screenmmheight()
286
root.winfo_screenmmwidth()
509
如果我在程序中root.tk.call('tk', 'scaling', 1.33)
,那么事情就是我想要的大小(或者足够接近)
很明显,问题是tkinter假设我的显示器每英寸有72个像素,而实际上每英寸有96个像素。我可以缩放我的显示器来得到我想要的,但是如果有人用72 PPI显示器运行代码,这看起来会有问题。我看了很多与此相关的帖子,root.tk.call
是我发现的唯一有用的东西,但它不可移植。在
是否有一种独立于平台的方法来确定显示器有多少个PPI?还是让应用程序占据屏幕的固定部分?在
目前没有回答
相关问题 更多 >
编程相关推荐