最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中tkinter窗口位置\坐標\大小等實現(xiàn)示例

 更新時間:2020年07月09日 09:26:20   作者:dhjabc_1  
這篇文章主要介紹了python中tkinter窗口位置\坐標\大小等實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

正在嘗試著做一個比較完善的畫圖軟件,計劃使用tkinter庫中的canvas控件來做,然后正在攻關(guān)圖形項位置、坐標、大小及其他屬性項的保存和加載的問題,剛好需要用到坐標、位置的知識,因此作為這個畫圖軟件的附帶產(chǎn)出物,整理成了本篇博文,分享給大家,一起研究研究,期待能對你工作帶來啟發(fā)和幫助。

不忘初心,方得始終,讓我們一起共勉!

好的,言歸正傳,回歸本篇博文的主題:python中tkinter窗口位置|坐標\大小等知識的科普。

大家都知道tkinter庫中有很多控件和主窗口,因此這些控件和主窗口都有對應的屏幕坐標的信息。因此我們可以分別進行介紹。

一、關(guān)于主窗口的介紹:

我們見的比較多的命令如下:

root.geometry("300x200+100+50")

這是什么意思呢?

其實:第一個是指窗口的寬度,第二個窗口的高度,第三個窗口左上點離左屏幕邊界距離,第四個窗口左上點離上面屏幕邊界距離。 那么,放在整段代碼里如下:

from tkinter import *
root = Tk()
root.geometry("300x200+100+50")
root.mainloop()

顯示效果如下:

(1)窗口屬性設(shè)置

在上面程序的基礎(chǔ)上,在root = Tk()和root.mainloop()之間添加下面的代碼以在窗口中添加元素

窗口標題:root.title("title_a")

添加窗口圖標:root.iconbitmap(icon_file),icon_file就是一個.ico的圖標文件,使用絕對或相對路徑 設(shè)置窗口大小:root.geometry("x_WIDTHxx_HEIGHT"),其中將_WIDTH替換為窗口寬度,將_HEIGHT替換為窗口高度 設(shè)置窗口在屏幕上的位置:

root.geometry("+X+Y"),X/Y表示以屏幕左上角為頂點的窗口的坐標

(2)常用的事件處理函數(shù):

刷新窗口狀態(tài):root.update()

銷毀窗口:root.destroy()

自動觸發(fā)事件:root.after(sec,command),表示多少秒以后自動執(zhí)行command

置頂窗口:root.wm_attributes('-topmost',1)

隱藏窗口外部:root.overrideredirect(True)

設(shè)置最大的窗口:root.maxsize(600, 400)

設(shè)置最小的窗口:root.minsize(300, 240)

設(shè)置窗口是否可以縮放(兩種方法): 

root.resizable(width=False, height=False)#禁止改變窗口大小

root.resizable(0, 0) # 設(shè)置窗口大小不可變

(3)獲取窗口的方法

winfo_width獲得窗口的寬度,winfo_height獲得窗口的高度。以上兩個方法都是無參方法,通過返回值我們可以獲得窗口的寬高。

from tkinter import *
 
def go():
  txt = '窗口的左上角坐標為:(%s,%s)\n窗口的高度為:%s窗口的寬度為:%s' \
     % (root.winfo_x(),root.winfo_y(),root.winfo_width(),root.winfo_height())
  label1.configure(text=txt)
  root.after(1,go)
 
root = Tk()
root.geometry("300x200+100+50")
label1 = Label(root)
label1.pack(expand=YES)
go()
root.mainloop()

運行效果如下:

(4)一個很重要的知識點

我們使用上述的方法得到的位置和寬高,其實是tk初始化時的一個值。因此在初始化的時候默認都是1,如果需要獲取準確的位置和大小信息 此時我們調(diào)用update方法,刷新win窗口。

運行腳本如下:

import tkinter
win = tkinter.Tk()
win.geometry("100x100")
print("初始化的窗口的寬度和寬度為 %s * %s" % (win.winfo_width(),win.winfo_height()))
win.update()
print("update后的窗口的寬度和寬度為 %s * %s" % (win.winfo_width(),win.winfo_height()))
win.mainloop()

(5)常用的一些位置處理函數(shù)

設(shè)置窗口最大化

#設(shè)置窗口最大化:
#方法一
root = Tk()
w, h = root.maxsize()
root.geometry("{}x{}".format(w, h)) #看好了,中間的是小寫字母x
#方法二
root = Tk()
w = root.winfo_screenwidth()
h = root.winfo_screenheight()
root.geometry("%dx%d" %(w, h))
#方法三
root = Tk()
root.attributes("-fullscreen", true)

設(shè)置居中顯示

def center_window(root, width, height):
  screenwidth = root.winfo_screenwidth()
  screenheight = root.winfo_screenheight()
  size = '%dx%d+%d+%d' % (width, height, (screenwidth - width) / 2, (screenheight - height) / 2)
  print(size)
  root.geometry(size)
  root.update()
  print(root.winfo_x())

調(diào)用腳本:

import tkinter as tk
root = tk.Tk()
root.title('測試窗口')
center_window(root, 500, 340)
root.mainloop()

二、關(guān)于控件的位置介紹

其實跟主窗口的訪問方式類似,主要是要找到對應的方法和函數(shù)。

import tkinter as tk
 
def center_window(root, width, height):
  screenwidth = root.winfo_screenwidth()
  screenheight = root.winfo_screenheight()
  size = '%dx%d+%d+%d' % (width, height, (screenwidth - width) / 2, (screenheight - height) / 2)
  root.geometry(size)
  root.update()
 
def go():
  txt = 'Label1控件的位置信息如下:%s' % label1.winfo_geometry()
  label2.configure(text=txt)
  root.after(1,go)
 
root = tk.Tk()
root.title('測試窗口')
center_window(root, 500, 340)
label1 = tk.Label(root, text='測試用途的Label控件')
label1.pack(expand=tk.YES)
label2 = tk.Label(root)
label2.pack()
go()
root.mainloop()

主要用到的函數(shù)為:label1.winfo_geometry()

運行的效果如下:

到此這篇關(guān)于python中tkinter窗口位置\坐標\大小等實現(xiàn)示例的文章就介紹到這了,更多相關(guān)python中tkinter窗口位置\坐標\大小內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python生成驗證碼、計算具體日期是一年中的第幾天實例代碼詳解

    Python生成驗證碼、計算具體日期是一年中的第幾天實例代碼詳解

    這篇文章主要介紹了Python生成驗證碼、計算具體日期是一年中的第幾天,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • Python如何使用正則表達式爬取京東商品信息

    Python如何使用正則表達式爬取京東商品信息

    這篇文章主要介紹了Python如何使用正則表達式爬取京東商品信息,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • Python中解決schedule模塊安裝與使用問題的完整指南

    Python中解決schedule模塊安裝與使用問題的完整指南

    在 Python 開發(fā)中,定時任務(wù)是一個非常常見的需求,schedule 是一個輕量級的 Python 庫,專門用于簡化定時任務(wù)的實現(xiàn),本文將圍繞 schedule 模塊的安裝與使用進行詳細介紹,希望對大家有所幫助
    2025-03-03
  • django框架自定義用戶表操作示例

    django框架自定義用戶表操作示例

    這篇文章主要介紹了django框架自定義用戶表操作,結(jié)合實例形式分析了Django框架自定義用戶表替換自帶的user表具體操作步驟與相關(guān)使用技巧,需要的朋友可以參考下
    2018-08-08
  • tf.truncated_normal與tf.random_normal的詳細用法

    tf.truncated_normal與tf.random_normal的詳細用法

    本篇文章主要介紹了tf.truncated_normal與tf.random_normal的詳細用法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • Python RabbitMQ實現(xiàn)簡單的進程間通信示例

    Python RabbitMQ實現(xiàn)簡單的進程間通信示例

    這篇文章主要介紹了Python RabbitMQ實現(xiàn)簡單的進程間通信示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • 利用Python輕松生成藝術(shù)簽名

    利用Python輕松生成藝術(shù)簽名

    很多兄弟覺得自己字寫的不好什么的,沒事,咱們直接用python來生成。本文就將為大家介紹如何利用Python輕松生成藝術(shù)簽名,需要的可以參考一下
    2022-01-01
  • Python3.2中的字符串函數(shù)學習總結(jié)

    Python3.2中的字符串函數(shù)學習總結(jié)

    這篇文章主要介紹了Python3.2中的字符串函數(shù)學習總結(jié),本文講解了格式化類方法、查找 & 替換類方法、拆分 & 組合類方法等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • python實現(xiàn)階乘的三種方法

    python實現(xiàn)階乘的三種方法

    階乘是基斯頓·卡曼于 1808 年發(fā)明的運算符號,是數(shù)學術(shù)語,一個正整數(shù)的階乘(factorial)是所有小于及等于該數(shù)的正整數(shù)的積,并且0的階乘為1,本文給大家介紹了python實現(xiàn)階乘的三種方法,通過代碼示例介紹的非常詳細,需要的朋友可以參考下
    2023-12-12
  • Python中用Spark模塊的使用教程

    Python中用Spark模塊的使用教程

    這篇文章主要介紹了Python中用Spark模塊的使用教程,來自IBM官方技術(shù)文檔,需要的朋友可以參考下
    2015-04-04

最新評論

嵊泗县| 汉阴县| 巴中市| 新巴尔虎右旗| 霍山县| 湖南省| 天门市| 延津县| 江山市| 晋城| 且末县| 博野县| 安国市| 宁陕县| 广平县| 蒙山县| 集安市| 高要市| 财经| 藁城市| 南川市| 安平县| 磐石市| 新龙县| 玉门市| 阜宁县| 福州市| 岳池县| 墨玉县| 康保县| 石棉县| 双峰县| 五峰| 满城县| 江门市| 简阳市| 邹平县| 梅州市| 阿巴嘎旗| 定远县| 通州市|