Tk怎么查看窗口巨細?Tkinter獲得窗口寬高?
Python Tk獲得窗口巨細,看這篇就夠了。
下面小編就手把手教小伙伴怎么獲得Tk窗口的寬高。
良多小伙伴可能會問,為什么要獲得tk窗口的巨細,巨細幾多可以本身設置。為什么還要經由過程法式來獲得呢?
來看看小編寫的這個,動態獲得tk窗口寬高像素巨細。
如圖
上圖就是經由過程tk窗口事務來進步履態的打印窗口的寬高。
那么,怎么獲得窗口的巨細寬高呢?
我們先建立一個tk窗口
#-*- coding:utf-8 -*-
import tkinter
#小編這里是python3,利用python2的小伙伴把tkinter換當作Tkinter即可,不然報錯哦
win = tkinter.Tk()
win.mainloop()
如許我們就建立了一個tk窗口,盡管這個窗口什么都沒有。
我們要用到的方式是tk對象供給的winfo_width和winfo_height,從字面上我們都可以理解:winfo_width獲得窗口的寬度,winfo_height獲得窗口的高度。
以上兩個方式都是無參方式,經由過程返回值我們可以獲得窗口的寬高。
OK,我們插入代碼
print("當前窗口的寬度為",win.winfo_width())
print("當前窗口的高度為",win.winfo_height())
這里良多小伙伴就會問了,為什么是1?窗口的寬高絕對不是1。
沒錯,可是法式并沒有做錯,我們只是少了點什么?我們需要刷新窗口數據,若是小伙伴經常利用tk這個圖形庫,就會知道,我們利用winfo_width和winfo_height獲得的寬高其實是tk初始化時的一個值。
此時我們挪用update方式,刷新win窗口。
win.update()
快看,是不是當作功獲得了窗口的寬高?
我們可以自界說窗口巨細來看數據是否準確。
例如小編這里設置窗口巨細 = 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()
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!