赞
踩
在屏幕居中
- # 窗体显示在屏幕中央
- def set_in_screen_center(tk_widget,winWidth=None,winHeight=None):
- """
- :param tk_widget: 部件,如果传入的是根窗口,必须指定长宽,要不只显示标题栏
- :param winWidth: 指定显示宽度
- :param winHeight: 指定显示长度
- :return:
- """
- # 获取根窗口
- root = tk_widget
- temp_root = None
- while 1:
- temp_root = root.master
- if temp_root is None:
- break
- root = temp_root
- # 获取屏幕分辨率
- screenWidth = root.winfo_screenwidth()
- screenHeight = root.winfo_screenheight()
-
- root.update()
- if winWidth is None:winWidth=tk_widget.winfo_width()
- if winHeight is None:winHeight=tk_widget.winfo_height()
-
- x = int((screenWidth - winWidth) / 2)
- y = int((screenHeight - winHeight) / 2)
-
- # 设置窗口初始位置在屏幕居中
- tk_widget.geometry("%sx%s+%s+%s" % (winWidth, winHeight, x, y))
'运行
在父窗口居中
- # 显示在窗口中间
- def set_in_windows_center(tk_widget,winWidth=None,winHeight=None):
- """
- :param tk_widget: 部件,不能传入根窗口
- :param winWidth: 指定显示宽度
- :param winHeight: 指定显示长度
- :return:
- """
- # 获取根窗口
- root = tk_widget
- temp_root = None
- while 1:
- temp_root = root.master
- if temp_root is None:
- break
- root = temp_root
-
- root.update()
-
- # 获取根窗口大小
- r_width = root.winfo_width()
- r_height = root.winfo_height()
-
-
- # 获取根窗口x,y
- r_x = root.winfo_rootx()
- r_y = root.winfo_rooty()
-
- if winWidth is None: winWidth = tk_widget.winfo_width()
- if winHeight is None: winHeight = tk_widget.winfo_height()
-
- print(f"根x:{r_x},根y:{r_y},根宽:{r_width},根长;{r_height}")
-
- if r_width > winWidth:
- x = int((r_x + (r_width - winWidth) / 2))
- else:
- x = r_x
-
- if r_height > winHeight:
- y = int((r_y + (r_height - winHeight) / 2))
- else:
- y = r_y
- # 设置窗口初始位置在指定窗口中间
- tk_widget.geometry("%sx%s+%s+%s" % (winWidth, winHeight, x, y))
- # tk_widget.geometry("%sx%s+%s+%s" % (winWidth, winHeight, 400, 400))
- print(f"窗x:{x},窗y:{y},窗宽:{winWidth},窗长:{winHeight}")
'运行
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。