在tkinter中控件布局的方法主要有三種:
創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),膠州企業(yè)網(wǎng)站建設(shè),膠州品牌網(wǎng)站建設(shè),網(wǎng)站定制,膠州網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,膠州網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。(1)pack布局
(2)grid布局
(3)place布局
pack布局采用塊的方式組織控件,pack(options,......),options參數(shù)可以選擇:side、fill、padx/pady、anchor等。
21-設(shè)置三個標(biāo)簽,使用pack方法布局。
from tkinter import *
win=Tk()
label1=Label(win,text="擎天柱" ,bg="blue")
label2=Label(win,text="大黃蜂",bg="yellow")
label3=Label(win,text="救護(hù)車",bg="red")
label1.pack()
label2.pack()
label3.pack()
win.mainloop()
pack布局默認(rèn)將所涉及到的標(biāo)簽從上到下依次排列。要想改變標(biāo)簽的位置,可以使用side參數(shù)。
22-使用side參數(shù)重新布局三個標(biāo)簽。
from tkinter import *
win=Tk()
label1=Label(win,text="擎天柱",bg="blue")
label2=Label(win,text="大黃蜂",bg="yellow")
label3=Label(win,text="救護(hù)車",bg="red")
label1.pack(side=LEFT)
label2.pack(side=LEFT)
label3.pack(side=LEFT)
win.mainloop()
此時三個標(biāo)簽會呈現(xiàn)水平排列,除了LEFT(從左往右排列),還有TOP(從上往下排列),BOTTOM(從下往上排列),RIGHT(從右往左排列)。在使用pack方法時,可以使用padx/pady設(shè)置控件邊界與容器邊界的距離。
ipadx/ipady用來控制標(biāo)簽文字與標(biāo)簽容器x軸或y軸的距離。
23-在標(biāo)簽大黃蜂上下增加10像素的間距。
from tkinter import *
win=Tk()
label1=Label(win,text="擎天柱",bg="blue")
label2=Label(win,text="大黃蜂",bg="yellow")
label3=Label(win,text="救護(hù)車",bg="red")
label1.pack(fill=X)
label2.pack(pady=10)
label3.pack(fill=X)
win.mainloop()
24-讓大黃蜂標(biāo)簽x軸的間距是10。
from tkinter import *
win=Tk()
label1=Label(win,text="擎天柱",bg="blue")
label2=Label(win,text="大黃蜂",bg="yellow")
label3=Label(win,text="救護(hù)車",bg="red")
label1.pack()
label2.pack(ipadx=10)
label3.pack()
win.mainloop()
25-在窗口左下方建立一個內(nèi)容為“OK”的標(biāo)簽,標(biāo)簽與窗口左邊與下邊的距離是10像素。
from tkinter import *
win=Tk()
label=Label(win,text="OK",font="宋體 20 bold",bg="blue",fg="white")
label.pack(anchor=W,side=LEFT,padx=10,pady=10)
win.mainloop()
grid布局:通過類似表格結(jié)構(gòu)組織控件。
grid(options,......),options參數(shù)可以是row、column、padx/pady、rowspan、columnspan、sticky等
26-row與column使用體驗。
from tkinter import *
win=Tk()
label1=Label(win,text="擎天柱",bg="blue")
label2=Label(win,text="大黃蜂",bg="yellow")
label3=Label(win,text="救護(hù)車",bg="red")
label4=Label(win,text="霸天虎",relief="raised")
label5=Label(win,text="擎天柱",relief="raised")
label6=Label(win,text="大黃蜂",relief="raised")
label7=Label(win,text="救護(hù)車",relief="raised")
label8=Label(win,text="霸天虎",relief="raised")
label1.grid(row=0,column=0)
label2.grid(row=0,column=1)
label3.grid(row=0,column=2)
label4.grid(row=0,column=3)
label5.grid(row=1,column=0)
label6.grid(row=1,column=1)
label7.grid(row=1,column=2)
label8.grid(row=1,column=3)
win.mainloop()
27-columnspan的使用
from tkinter import *
win=Tk()
label1=Label(win,text="擎天柱",relief="raised")
label2=Label(win,text="大黃蜂",relief="raised")
label4=Label(win,text="霸天虎",relief="raised")
label5=Label(win,text="擎天柱",relief="raised")
label6=Label(win,text="大黃蜂",relief="raised")
label7=Label(win,text="救護(hù)車",relief="raised")
label8=Label(win,text="霸天虎",relief="raised")
label1.grid(row=0,column=0)
label2.grid(row=0,column=1,columnspan=2)
label4.grid(row=0,column=3)
label5.grid(row=1,column=0)
label6.grid(row=1,column=1)
label7.grid(row=1,column=2)
label8.grid(row=1,column=3)
win.mainloop()
columnspan會將標(biāo)簽2、3合并成一個標(biāo)簽。columnspan控制在column方向上合并數(shù)量,rowspan表示在row方向上合并的數(shù)量。
sticky類似anchor,但是只能設(shè)定N/S/W/E,即上/下/左/右
28-sticky的使用
from tkinter import *
win=Tk()
label1=Label(win,text="擎天柱",)
label2=Label(win,bg="green",width=20)
label3=Label(win,text="救護(hù)車")
label4=Label(win,bg="blue",width=20)
label1.grid(row=0,column=0,padx=5,pady=5,sticky=W)
label2.grid(row=0,column=1,padx=5,pady=5)
label3.grid(row=1,column=0,padx=5)
label4.grid(row=1,column=1,padx=5)
win.mainloop()
place布局允許指定組件的大小與位置。
29-place布局使用。
from tkinter import *
win=Tk()
label1=Label(win,text="擎天柱",bg="blue")
label2=Label(win,text="大黃蜂",bg="yellow")
label3=Label(win,text="救護(hù)車",bg="red")
label1.place(x=0,y=0)
label2.place(x=30,y=50)
label3.place(x=60,y=100)
win.mainloop()
此方法使用x/y參數(shù),x和y參數(shù)可以直接設(shè)定窗口組件左上方的位置,x是向右遞增,y是向下遞增。
使用width/height控制控件的實體大小。
30-在窗口設(shè)置圖片標(biāo)簽位置和大小。
from tkinter import *
win=Tk()
win.geometry('800x600')
picture1=PhotoImage(file=r'C:\Users\Administrator\Desktop\xingkong.png')
label1=Label(win,image=picture1)
label1.place(x=20,y=30,width=200,height=120)
picture2=PhotoImage(file=r'C:\Users\Administrator\Desktop\user.png')
label2=Label(win,image=picture2)
label2.place(x=200,y=200,width=400,height=240)
win.mainloop()
relx/rely參數(shù)設(shè)置相對于父窗口的位置,relwidth/relheight參數(shù)設(shè)置相對大小。
31-relx/rely與relwidth/relheight的應(yīng)用。
from tkinter import *
win=Tk()
win.geometry('600x400')
picture1=PhotoImage(file=r"C:\Users\Administrator\Desktop\xingkong.png")
label1=Label(win,image=picture1)
label1.place(relx=0.1,rely=0.1,relwidth=0.8,relheight=0.8)
win.mainloop()
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)站欄目:tkinter控件的布局方式-創(chuàng)新互聯(lián)
文章轉(zhuǎn)載:http://www.rwnh.cn/article26/cepdcg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、小程序開發(fā)、定制網(wǎng)站、標(biāo)簽優(yōu)化、域名注冊、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容