的Python:适应显示屏幕尺寸
对于屏幕尺寸:
import Tkinter as tk
x = tk.Tk()
print(x.winfo_screenwidth(), x.winfo_screenheight())
对于文本大小:
import tkFont
...
f = tkFont.Font(size=100)
label = tk.Label(self, text='Big text', font=f)
....
要调整文字大小屏幕尺寸,你只需要拿出某种字体缩放算法,即会将winfo_screenwidth
和winfo_screenheight
转换为适当的size
值tkFont.Font
。
正如在评论中提到的,您可以使用窗口方法winfo_screenwidth()
& winfo_screenheight()
来查找显示的大小。要更改标签的文字大小,只需编辑Label
小部件的font
配置选项即可。
font
可以使用简单的字符串值(更改字体的一个参数,如大小或字体)来更改,或者可以给它一个字符串值tuple
以编辑多个参数。你可以看到如何使用这个方法的例子,以及窗口方法,在我的例子:
例子:
from Tkinter import *
root = Tk()
#Center widget: Half screen dimension - half window dimension
root.geometry("350x150+%d+%d" %(((root.winfo_screenwidth()/2.) - (350/2.)), ((root.winfo_screenheight()/2.) - (150/2.))))
l = Label(root, font = ('consolas', '20', 'italic'), text = "This is a label", justify = CENTER).pack(pady = (50, 0))
root.mainloop()
在你的根geometrt方法中,这种微积分的目的是什么? – ChiPlusPlus
我用它来居中屏幕;我为窗口宽度/高度(350x150)选择了任意大小。然后我为x pos选择了一半(屏幕宽度的一半 - 窗口宽度的一半),并且类似地(屏幕高度的一半 - 窗口高度的一半)为y pos。这使窗口(相对)位于屏幕的中心。 y位置通常不居中,因为这不包括窗口周围的边界。 – maccartm
'root.winfo_screenwidth()'和'root.winfo_screenheight()' –