广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    教你用Python获得Tkinter(TK)窗口的大小(宽高)

    来源:网络收集  点击:  时间:2024-04-14
    【导读】:
    Tk怎么查看窗口大小?Tkinter获得窗口宽高?Python Tk获得窗口大小,看这篇就够了。下面小编就手把手教小伙伴怎么获得Tk窗口的宽高。工具/原料morePython方法/步骤1/5分步阅读

    很多小伙伴可能会问,为什么要获得tk窗口的大小,大小多少可以自己设置。为什么还要通过程序来获得呢?

    来看看小编写的这个,动态获得tk窗口宽高像素大小。

    如图

    2/5

    上图就是通过tk窗口事件来进行动态的打印窗口的宽高。

    那么,怎么获得窗口的大小宽高呢?

    我们先创建一个tk窗口

    #-*- coding:utf-8 -*-

    import tkinter

    #小编这里是python3,沃盆使用python2的小伙伴把tkinter换成Tkinter即可,否则报错哦

    win = tkinter.Tk()

    win.mainloop()

    这样我们就创建了一个tk窗口,尽管这个窗口什么都没有。

    3/5

    我们要用到的著调方法是tk对象提供的winfo_width和winfo_height,从字面上我们都可以理解:winfo_width获得窗口的宽度,winfo_height获得窗口的高度。

    以上两个方法都是无参方法,通过返回值我们可以获得窗口的宽高。

    OK,我们插入代码

    print(当前窗口的宽度为,win.winfo_width())

    print(当前窗口的高度为,win.winfo_height())

    4/5

    这里很多小伙伴就会问了,为什么是1?窗口的宽高绝对不是1。

    没错,但是程序并没有做错,我们只是少了点什么?我付政棍们需要刷新窗口数据,如果小伙伴经常使用tk这个图形库,就会知道,我们使用winfo_width和winfo_height得到的宽高其实是tk初始化时的一个值。

    此时我们调用update方法,刷新win窗口。

    win.update()

    快看,是不是成功获得了窗口的宽高?

    5/5

    我们可以自定义窗口大小来看数据是否正确。

    例如小编这里设置窗口大小 = 100 x 100,即宽100px高100px

    win.geometry(100x100)

    这里可能又有小伙伴会问了,为什么宽度又出错了?

    其实很简单,因为tk帮我们创建了窗口装饰器,装饰器有以下几个部分:图标、标题、最大化、最小化和关闭按钮

    这些装饰器占据了16个px,其实是15个,还有1个px像素点是作为窗口和装饰器之间的距离。

    如图红色标记部分

    所有代码为:

    #-*- coding:utf-8 -*-

    import tkinter

    win = tkinter.Tk()

    win.geometry(100x100)

    win.update()

    print(当前窗口的宽度为,win.winfo_width())

    print(当前窗口的高度为,win.winfo_height())

    win.mainloop()

    注意事项

    人生苦短,我用Python

    如有疑问,点击左下角的投票或者有得给小编留言,小编看到会第一时间回复您,谢谢

    如果喜欢本经验,请关注我。可以把它分享给您的朋友,请点个投票点个收藏。谢谢,您的支持是我最大的动力。

    PYTHONTKINTERPYTHON图形库TK查看窗口大小PYTHON
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_508105.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 09:24:58  耗时:0.024
    0.0239s