欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python GUI編程學(xué)習筆記之tkinter界面布局顯示詳解

 更新時間:2020年03月30日 11:06:36   作者:隨風行云  
這篇文章主要介紹了Python GUI編程學(xué)習筆記之tkinter界面布局顯示,結(jié)合實例形式分析了Python GUI編程中tkinter界面布局顯示的相關(guān)操作技巧與使用注意事項,需要的朋友可以參考下

本文實例講述了Python GUI編程學(xué)習筆記之tkinter界面布局顯示。分享給大家供大家參考,具體如下:


相關(guān)內(nèi)容:

  • pack
    • 介紹
    • 常用參數(shù)
    • 使用情況
    • 常用函數(shù)
  • grid
    • 介紹
    • 常用參數(shù)
    • 使用情況
    • 常用函數(shù)
  • place
    • 介紹
    • 常用參數(shù)
    • 使用情況
    • 常用函數(shù)

首發(fā)時間:2018-03-04 14:20


pack:

    • 介紹:
      • pack幾何管理器按行或列打包小部件。 可以使用填充fill,展開expand和靠邊side等選項來控制此幾何體管理器。
      • pack的排放控件的形式就像將一個個控件按大小從上到下放過去
      • 在窗口不設(shè)定大小的而使用pack進行布局的情況下,窗口默認大小為剛好包裹所有控件的大小
      • 默認情況下添加的控件是居中且占據(jù)整行的
    • 常用參數(shù):
      • fill:填充分配給控件的空間,fill:X為填充X軸方向,Y為Y軸方向,BOTH為X+Y
      • expand:先按普通標準來規(guī)定控件大小,如果后面窗口還剩下空間,那么會分給那些expand=True的控件,如圖中是兩個不同大小的按鈕,其中2expand=Trueimage_thumb[4] ,當使用expand=True時,side將不會生效!
      • side:使控件靠窗口的指定方向并排,side可取值LEFT,RIGHT,TOP,BOTTOM.image_thumb3[1]
      • anchor:對齊方式,可取值“n”, “s”, “w”, “e”, “nw”, “sw”, “se”, “ne”, “center”(默認為” center”)image_thumb[5]
      • ipadx, ipady:內(nèi)邊距
      • padx,pady:外邊距
    • 適用情況:與gird相比,pack有一定的局限性,但在一些但很常見的情況下使用起來要容易得多:
      • 將一個小部件放入一個框架(或任何其他容器小部件)中,并讓它填充整個框架
      • 將多個小部件放在一起
      • 并排放置一些小部件
    • 補充:
      • 常用函數(shù):
        • pack_propagate(flag):由窗口調(diào)用來配置pack控件時窗口的大小,當flag=0時,那么窗口大小將不再僅僅包裹住所有控件,這時候窗口的高度和寬度設(shè)置才可以生效
        • pack_forget():移除控件,但并沒有進行摧毀,可以再次使用pack或其他方式來顯示
        • pack_info():返回pack提供的選項所對應(yīng)得值。
        • pack_slaves():以列表方式返回本組件的所有子組件對象。
from tkinter import *
root=Tk()

# for i in range(10):
  ##side
  # btn = Button(text=i)
  # btn.pack(side=LEFT)
  # btn.pack(side=RIGHT)
  # btn.pack(side=(TOP,LEFT))

  ####fill
  # btn.pack(fill=X)
  # btn.pack(side=LEFT,fill=Y)
  # btn.pack(fill=BOTH)

##expand
# btn1=Button(text=1,bg='green')
# btn2=Button(text=2,bg='yellow')
# btn1.pack(fill=X)
# btn2.pack(expand=True)
#anchor:
# btn1=Button(text=1,bg='green')
# btn2=Button(text=2,bg='yellow')
# btn1.pack(fill=X)
# btn2.pack(anchor=E)

#pack_propagete
# btn1=Button(text=1,bg='green')
# btn2=Button(text=2,bg='yellow')
# root.pack_propagate(0)
# btn1.pack()
# btn2.pack()

#pack_forget:
# import time,threading
# label=Label(text="警告!")
# label.pack()
# def run():
#   start_time=time.time()
#   while True:
#     if time.time()-start_time>3:
#       label.pack_forget()
#       break
# t=threading.Thread(target=run)
# t.setDaemon(True)
# t.start()

root.mainloop()

grid:

    • 介紹:grid是格子的意思,grid可以將控件區(qū)塊式擺放.image_thumb4
    • 常用參數(shù):
      • row: 行號,區(qū)分不同控件是否處于同一行
      • column: 列號,區(qū)分不同控件是否處于同一列
      • sticky: 決定控件的貼靠方向,該選項從集合N,S,E,W [東南西北的意思],中取一個或多個值。比如要將標簽與左邊框?qū)R,可以使用W(西)image_thumb[1]image_thumb[2]
      • rowspan:行跨度,決定某個控件占的行數(shù) ,默認一行
      • columnspan:列跨度,決定某個控件占的列數(shù),默認一列
      • ipadx, ipady:內(nèi)邊距
      • padx,pady:外邊距
    • 適用情況:
      • 設(shè)計對話框的時候特別方便
      • 區(qū)塊化擺放的時候
    • 補充:
      • 常用函數(shù):
        • grid_forget :移除控件,但并沒有進行摧毀,可以再次使用grid或其他方式來顯示 [grid_remove有同樣作用]
        • grid_propagete

          :由窗口調(diào)用來配置pack控件時窗口的大小,當flag=0時,那么窗口大小將不再僅僅包裹住所有控件,這時候窗口的高度和寬度設(shè)置才可以生效
        • grid_slaves():以列表方式返回本組件的所有子組件對象。

from tkinter import *

root=Tk()
root.title("我的窗口")
label_user=Label(text='用戶名:',bg='green')
label_pwd=Label(text='密碼:',bg='green')
user=Entry()
pwd=Entry()
# row,column,sticky
label_user.grid(row=0,column=0,sticky=W) #一個有sticky,一個沒有sticky,以作區(qū)分
label_pwd.grid(row=1,column=0)
# rowspan,columnspan
user.grid(row=0,column=1)
pwd.grid(row=1,column=1)
btn=Button(text="提交")
btn.grid(row=0,column=3,rowspan=2,columnspan=2,padx=5, pady=5)
# 下面主要是將第一列拉大來顯示上面sticky的效果
v=IntVar()
check=Checkbutton(text="下次自動登錄",variable=v,)
check.grid(row=2,column=0,sticky=W)


# _forget:
import time,threading
label=Label(text="歡迎登錄!",bg='blue')
label.grid()
def run():
  start_time=time.time()
  while True:
    if time.time()-start_time>3:
      label.grid_forget()
      break
t=threading.Thread(target=run)
t.setDaemon(True)
t.start()



root.mainloop()

place:

    • 介紹:可以使用絕對的位置或相對位置來擺放控件。 conn_thumb conn2[3]_thumb
    • 常用參數(shù):
      • x:控件在窗口中的x坐標
      • y:控件在窗口中的y坐標conn2_thumb
      • relx,rely:與主窗口的相對位置,比如image_thumb[3]
      • relwidth,relheight:相對大小,比如height=0.5,width=0.5時控件占據(jù)窗口的四分之一大小
    • 適用情況:
      • 自定義顯示方式
      • 將按鈕定位在對話框中
    • 補充:
      • 常用函數(shù):
        • place_forget():移除控件,但并沒有進行摧毀,可以再次使用place或其他方式來顯示
        • place_slaves():以列表方式返回本組件的所有子組件對象。[slaves()具有同樣功能]
        • place_info():返回place提供的選項所對應(yīng)得值。
from tkinter import *

root=Tk()
root.geometry('100x100')
label=Label(text="用戶名:",bg='green')
entry=Entry()
label.pack(fill=X)
#x,y
# entry.place(x=0,y=0)

#relx,rely
# entry.place(relx=0.3, rely=0.3)
# entry.place(relx=0.5, rely=0.5)

#relheight,relwidth
# entry.place(relx=0.5, rely=0.5,relheight=0.5,relwidth=0.5)

#_forget:
import time,threading
label2=Label(text="警告!",bg='blue')
label2.place(relx=0.2,rely=0.2)
def run():
  start_time=time.time()
  while True:
    if time.time()-start_time>3:
      label2.place_forget()
      break
t=threading.Thread(target=run)
t.setDaemon(True)
t.start()

root.mainloop()

想要了解更多,可以參考tkinter的官方文檔:http://effbot.org/tkinterbook/

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • Python中super()的理解以及應(yīng)用場景實例

    Python中super()的理解以及應(yīng)用場景實例

    在python中關(guān)于類的定義可以分為兩種:老式類&新式類,在新式類中有這么一種方法super( ),下面這篇文章主要給大家介紹了關(guān)于Python中super()的理解以及應(yīng)用場景的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • 使用Python進行AES加密和解密的示例代碼

    使用Python進行AES加密和解密的示例代碼

    這篇文章主要介紹了使用Python進行AES加密和解密的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • Python+request+unittest實現(xiàn)接口測試框架集成實例

    Python+request+unittest實現(xiàn)接口測試框架集成實例

    這篇文章主要介紹了Python+request+unittest實現(xiàn)接口測試框架集成實例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • Python動態(tài)演示旋轉(zhuǎn)矩陣的作用詳解

    Python動態(tài)演示旋轉(zhuǎn)矩陣的作用詳解

    一個矩陣我們想讓它通過編程,實現(xiàn)各種花樣的變化怎么辦呢?下面這篇文章主要給大家介紹了關(guān)于Python動態(tài)演示旋轉(zhuǎn)矩陣的作用,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • Python中easy_install 和 pip 的安裝及使用

    Python中easy_install 和 pip 的安裝及使用

    本篇文章主要介紹了Python中easy_install 和 pip 的安裝及使用,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Python猴子補丁知識點總結(jié)

    Python猴子補丁知識點總結(jié)

    在本篇文章里小編給大家分享的是關(guān)于Python猴子補丁知識點總結(jié),需要的朋友們學(xué)習下。
    2020-01-01
  • Scrapy?之中間件(Middleware)的具體使用

    Scrapy?之中間件(Middleware)的具體使用

    本文主要介紹了Scrapy?之中間件(Middleware)的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2022-06-06
  • Python實現(xiàn)文件按照日期命名的方法

    Python實現(xiàn)文件按照日期命名的方法

    這篇文章主要介紹了Python實現(xiàn)文件按照日期命名的方法,涉及Python針對文件的遍歷、讀寫及時間操作相關(guān)技巧,需要的朋友可以參考下
    2015-07-07
  • python實現(xiàn)經(jīng)典排序算法的示例代碼

    python實現(xiàn)經(jīng)典排序算法的示例代碼

    這篇文章主要介紹了python實現(xiàn)經(jīng)典排序算法的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2021-02-02
  • python 爬取嗶哩嗶哩up主信息和投稿視頻

    python 爬取嗶哩嗶哩up主信息和投稿視頻

    本項目主要功能是爬取部分嗶哩嗶哩up主信息和up主投稿視頻信息,用作數(shù)據(jù)處理與分析學(xué)習(不得用于商業(yè)和其他侵犯他人權(quán)益的用途)。有此需求的朋友可以了解下本項目
    2021-06-06

最新評論