Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.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 Tkinter默认字体很小_Python_Tkinter - Fatal编程技术网

Python Tkinter默认字体很小

Python Tkinter默认字体很小,python,tkinter,Python,Tkinter,我正在使用一些使用tkinter的库,字体太小,我无法阅读(只有几个像素)。以下是一个最低限度的工作示例: from tkinter import * root = Tk() myLabel = Label(root, text = 'Hello, wo

我正在使用一些使用tkinter的库,字体太小,我无法阅读(只有几个像素)。以下是一个最低限度的工作示例:

from tkinter import *                                                                                                                           
root = Tk()
myLabel = Label(root, text = 'Hello, world!')
myLabel.pack()
root.mainloop()
工作示例在右侧的窗口中生成一个小小的hello world: 图像的其余部分显示GitkGUI作为大小参考

有没有办法在不更改代码的情况下在tkinter中设置默认字体大小?dpi设置也可能有问题


我在ARCLinux,i3WM,使用英伟达专有驱动程序

< P>是的,你可以为Twitter小部件设置默认字体。请参阅此线程


.

将这一行添加到代码的开头。按您要使用的字体更改
Helexecta
,按您要使用的字体大小更改
20
,并按您想要的任何格式选项更改
bold
(您不必包含任何格式选项,如果包含,您可以添加多个)。此行将为
root
窗口中的任何标签设置字体

root.option_add("*Label.Font", "helvetica 20 bold")


我找到了解决问题的办法。 Tkinter有一种自动确定监视器大小的方法,它将相应地设置tk刻度变量。在我的例子中,缩放值的作用与它应该做的相反——更大的缩放值会导致更小的字体大小。我仍然不知道为什么会这样。 我对我的最小工作示例运行了strace,发现tkinter试图读取文件
~/.Tk.tcl
,因此我可以将此文件用作配置文件。 将
tk scaling 1.0
放入
~/.tk.tcl
为我解决了这个问题。您可以尝试使用缩放值来增加/减少gui组件的总体缩放。 看着strace,它还试图读取
~/.Tk.py
~/.example.tcl
~/.example.py

当你说“不改变代码”时,你是说字面意思吗?如果解决方案只需要添加一两行代码,是否可以接受?是的,我的字面意思是“不更改代码”,因为这是我通过软件包管理器安装的基于tkinter的应用程序。在linux上,tkinter必须从某个系统中选择默认字体。也许是fontconfig?但是我找不到关于这个的任何文件。