如何获取Tkinter中的屏幕大小?
我想知道能不能用Tkinter来计算屏幕的大小。
我想这样做是为了让程序在屏幕中间打开……
3 个回答
3
对于Windows系统:
你可以让程序知道屏幕的 DPI(每英寸点数),这样它就能适应不同大小的显示屏。
import ctypes
try: # Windows 8.1 and later
ctypes.windll.shcore.SetProcessDpiAwareness(2)
except Exception as e:
pass
try: # Before Windows 8.1
ctypes.windll.user32.SetProcessDPIAware()
except: # Windows 8 or before
pass
进一步解释一下 mouad的回答,这个函数可以处理多个显示器,并且能返回当前屏幕的分辨率:
import tkinter
def get_display_size():
root = tkinter.Tk()
root.update_idletasks()
root.attributes('-fullscreen', True)
root.state('iconic')
height = root.winfo_screenheight()
width = root.winfo_screenwidth()
root.destroy()
return height, width
6
一个可能的解决办法
import os
os.system("xrandr | grep \* | cut -d' ' -f4")
我的输出结果是:
1440x900
0
108
在编程中,有时候我们需要把一些代码放在特定的地方,这样它们才能正常工作。比如说,你可能会在一个函数里写代码,这个函数就像一个小工具,只有在你需要的时候才会被使用。
另外,有些时候我们会用到“变量”,它们就像是存储信息的盒子。你可以把数字、文字或者其他任何东西放进这些盒子里,然后在需要的时候再拿出来用。
还有一个概念是“循环”,这就像是重复做一件事情。比如说,如果你想让电脑数到10,你可以让它重复执行“加1”的操作,直到它数到10为止。
最后,记得在写代码的时候,要保持代码的整洁和清晰,这样你自己和别人才能更容易理解你的代码。
import tkinter as tk
root = tk.Tk()
screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()