Python 以4k(3840*2160)分辨率缩放Tkinter GUI?
我在VirtualBox中使用LinuxMint 17.3肉桂粉,本机使用1920*1080分辨率,Hi DPI选项已打开。主机为Windows 10,分辨率为3840*2160。Python 以4k(3840*2160)分辨率缩放Tkinter GUI?,python,python-2.7,tkinter,tk,Python,Python 2.7,Tkinter,Tk,我在VirtualBox中使用LinuxMint 17.3肉桂粉,本机使用1920*1080分辨率,Hi DPI选项已打开。主机为Windows 10,分辨率为3840*2160。 尽管在LinuxMint中启用了Hi-DPI选项,但在可伸缩性方面,一些应用程序看起来很适合于舒适的工作,但python tk GUI(python2)没有改变——字体大小很小,在肉桂中更改字体选项不会改变tk中的字体。有没有办法正确缩放已经编写好的tk GUI应用程序?tkinter有一个内部缩放因子,用于将测量值
尽管在LinuxMint中启用了Hi-DPI选项,但在可伸缩性方面,一些应用程序看起来很适合于舒适的工作,但python tk GUI(python2)没有改变——字体大小很小,在肉桂中更改字体选项不会改变tk中的字体。有没有办法正确缩放已经编写好的tk GUI应用程序?tkinter有一个内部缩放因子,用于将测量值(如点和英寸)转换为像素。您可以使用“tk scaling”命令进行设置。此命令接受一个参数,即一个“点”中的像素数。一个点为1/72英寸,因此1.0的比例因子适用于72DPI显示
root = Tk()
root.tk.call('tk', 'scaling', 2.0)
根据中的一条评论,这不会影响默认字体,因为它们是在tkinter上下文之外定义的。如果您以点为单位指定自己的字体,则它们应符合此设置
缩放
命令的作用如下:
设置并查询Tk用于转换的当前比例因子
物理单位之间(例如,点、英寸或毫米)
和像素。number参数是一个浮点数,它
指定窗口显示上每个点的像素数。如果
窗口参数被省略,默认为主窗口。如果
如果忽略数字参数,则比例因子的当前值为
返回
“点”是等于1/72英寸的测量单位。A.
比例因子1.0对应于每个点1个像素,即
相当于标准的72 dpi监视器。比例因子为1.25
将意味着每点1.25像素,这是90 dpi的设置
班长在72 dpi的监视器上将比例因子设置为1.25将
使应用程序中的所有内容显示为
和平常一样大。比例因子的初始值在以下情况下设置:
应用程序将根据安装的监视器的属性启动,
但它可以在任何时候改变。缩放后进行的测量
“因子”已更改,将使用新的比例因子,但未定义
现有小部件是否将动态调整自身大小以
适应新的比例因子
缩放选项会影响按钮的大小,可能还会影响其他元素,但它不会影响标签、框架等中文本的大小。对于已经编写的应用程序,似乎没有选择更改它们。对于新的应用程序来说,这可能是一个解决方案。更多信息。你是说tkinter最细的晶粒在72 dpi@BryanOakley铸造?