如何获得Tkinter的屏幕尺寸?

时间:2010-10-16 17:02:03

标签: python tkinter

我想知道是否可以使用tkinter计算屏幕尺寸。

我想要这样可以让程序在屏幕中央打开......

3 个答案:

答案 0 :(得分:63)

import tkinter as tk

root = tk.Tk()

screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()

答案 1 :(得分:2)

可能的解决方案

import os

os.system("xrandr  | grep \* | cut -d' ' -f4")

我的输出:

1440x900
0

答案 2 :(得分:0)

对于窗户:

您可以让进程知道 dpi 以处理缩放显示。

import ctypes
try: # >= win 8.1
    ctypes.windll.shcore.SetProcessDpiAwareness(2)
except Exception as e:
    pass
try: # < win 8.1
    ctypes.windll.user32.SetProcessDPIAware()
except: # win 8.0 or less
    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