import tkinter
import screeninfo
from tkinter import Tk
def get_monitor_screen(x, y):
monitors = screeninfo.get_monitors()
for m in reversed(monitors):
if m.x <= x <= m.width + m.x and m.y <= y <= m.height + m.y:
return m
return monitors[0]
if __name__ == '__main__':
# 装屏幕
app = tkinter.Tk()
# app.winfo_x() 获取当前窗口左上角相对于显示器左上角的横坐标
# app.winfo_y() 获取当前窗口左上角相对于显示器左上角的纵坐标
current_screen = get_monitor_screen(app.winfo_x(), app.winfo_y())
# 设置app的宽和高
appWidth = 1000
appHeigh = 500
# 获取当前屏幕的宽高
screenWidth = current_screen.width
screenHeigh = current_screen.height
x = (screenWidth - appWidth) / 2
y = (screenHeigh - appHeigh) / 2
#app.geometry("%dx%d+%d+%d" % (appWidth, appHeigh, x, y))
app.geometry("%dx%d+%d+%d"% (appWidth, appHeigh, x, y))
# 打印当前屏幕的宽高
print(current_screen.width, current_screen.height, appWidth, appHeigh, x, y)
app.mainloop()
tkinter如何使屏幕在正中间(处理了双屏幕存在的问题)
最新推荐文章于 2024-08-27 15:50:06 发布