我在VirtualBox中使用LinuxMint 17.3 Cinnamon,在本机中使用1920 * 1080分辨率,打开Hi-DPI选项。主机为Windows 10,分辨率为3840 * 2160 尽管在LinuxMint中启用了Hi-DPI选项,但在缩放方面,一些应用程序看起来很舒服,但是python-tk GUI(python2)还没有改变 - 字体很小,更改了字体选项在Cinnamon中,不会改变tk中的字体。有没有办法正确扩展已编写的tk GUI应用程序?
答案 0 :(得分:10)
tkinter有一个内部缩放系数,用于将点和英寸等测量值转换为像素。您可以使用“tk scaling”命令进行设置。此命令采用一个参数,即一个“点”中的像素数。一个点是1/72英寸,因此缩放因子1.0适用于72DPI显示器。
root = Tk()
root.tk.call('tk', 'scaling', 2.0)
根据a similar question中的评论,这不会影响默认字体,因为它们是在tkinter的上下文之外定义的。如果您在点中指定自己的字体,则应遵循此设置。
scaling
命令的official documentation是:
设置并查询Tk用于转换的当前比例因子 物理单位之间(例如,点,英寸或毫米) 和像素。 number参数是一个浮点数 指定窗口显示的每个点的像素数。如果 窗口参数被省略,默认为主窗口。如果 number参数被省略,缩放因子的当前值是 回。
“点”是等于1/72英寸的测量单位。一个 缩放因子1.0对应于每个点1个像素,即 相当于标准的72 dpi显示器。比例因子为1.25 这意味着每点1.25像素,这是90 dpi的设置 监控;在72 dpi监视器上将比例因子设置为1.25 导致应用程序中的所有内容显示为1.25倍 像往常一样大。缩放因子的初始值设置为 应用程序启动,基于已安装的监视器的属性, 但它可以随时更改。缩放后进行的测量 因子被更改将使用新的比例因子,但它是未定义的 现有小部件是否会动态调整大小 适应新的比例因子。
答案 1 :(得分:0)
您可以使用 Clmage
模块来提高 GUI 渲染的分辨率