Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 以4k(3840*2160)分辨率缩放Tkinter GUI?_Python_Python 2.7_Tkinter_Tk - Fatal编程技术网

Python 以4k(3840*2160)分辨率缩放Tkinter GUI?

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有一个内部缩放因子,用于将测量值

我在VirtualBox中使用LinuxMint 17.3肉桂粉,本机使用1920*1080分辨率,Hi DPI选项已打开。主机为Windows 10,分辨率为3840*2160。

尽管在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铸造?