我是靠谱客的博主 欢呼皮卡丘,这篇文章主要介绍GUI--tkinter窗体居中小技巧窗体屏幕居中显示,现在分享给大家,希望可以做个参考。

窗体屏幕居中显示

Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。

由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 import Tkinter 库、而且 IDLE 也是用 Tkinter 编写而成、对于简单的图形界面 Tkinter 还是能应付自如。

在写图形界面的时候,可能会有强迫症,也可能是为了美观,我们会想程序运行出现的窗口是在页面正中间,以便于使用或者调试。所以下面就介绍窗体自适应屏幕居中显示,算是一个小技巧,使用的时候,直接复用代码就好,不用再重新写一遍,节省时间。

直接上运行效果:

在这里插入图片描述

主要用到的tkinter技术方法

  1. 获取当前屏幕大小

    # screenheight 屏幕高度
    screenheight = root.winfo_screenheight()
    # screenwidth 屏幕宽度
    screenwidth = root.winfo_screenwidth()
    
  2. 获取tkinter位置

    # x tkinter窗口距离屏幕左边距离
    x = root.winfo_x()
    # y tkinter窗口距离屏幕上边距离
    y = root.winfo_y()
    
  3. 获取窗体大小

    # 窗口高度
    height = root.winfo_height()
    # 窗口宽度
    width = root.winfo_width()
    
  4. 设定窗体大小位置

    # {}x{}+{}+{} 分别表示窗体宽高,窗体左上角距离左边屏幕边缘距离,窗体左上角距离上边屏幕边缘距离
    size = '{}x{}+{}+{}'.format(width, height, x, y)
    

思路

  1. 先获取你当前屏幕的大小(宽高)

  2. 再计算出窗体左上角距离屏幕左上边缘的距离

    该距离是当前屏幕宽高的一半减去窗体宽高的一半,此时窗体正中心才会在屏幕正中心,而如果只是当前屏幕宽高的一半,则出现的运行效果是窗体左上角处于屏幕正中心位置。

  3. 把计算出的结果放进root.geometry()方法中实现。

代码实现

"""
标题为:窗体屏幕居中显示
位置:出现的位置为屏幕居中
窗口大小为:300*300
"""
import tkinter as tk

root = tk.Tk()
root.title('窗体屏幕居中显示')

width = 300
height = 300

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

x = int(screen_width / 2 - width / 2)
y = int(screen_height / 2 - height / 2)
size = '{}x{}+{}+{}'.format(width, height, x, y)

root.geometry(size)
root.mainloop()

另外也可以把主要部分封装成一个函数,以便于以后调用

def tk_center(width, height, screen_width, screen_height):
    x = int(screen_width / 2 - width / 2)
	y = int(screen_height / 2 - height / 2)
	size = '{}x{}+{}+{}'.format(width, height, x, y)
    return size

最后

以上就是欢呼皮卡丘最近收集整理的关于GUI--tkinter窗体居中小技巧窗体屏幕居中显示的全部内容,更多相关GUI--tkinter窗体居中小技巧窗体屏幕居中显示内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部