聊天視窗的布局中,按鈕的布局往往是很重要的一部分。
使用Frame控件可以友善快捷地進行按鈕的定位設定。接下來講講我在使用Frame控件時的使用方法。
from tkinter import * #從python3中使用tkinter
root=Tk()
tf=Frame(root) #定義Frame控件tf
tf.grid(row=3,column = 1,padx=0,pady=0) #定義控件的位置
tf.config(bg='pink')
tf2 = Frame(root) #定義Frame控件tf2
tf2.grid(row=5,column = 1,padx=5,pady=5) #定義控件的位置
tf2.config(bg='pink')
tf3=Frame(height = 300,width = 150) #定義Frame控件tf3
tf3.grid(row = 0,column = 2,rowspan = 5) #定義控件的位置
#引用控件tf3添加标簽(綁定圖檔)
photo = PhotoImage(file = 'xiu.gif')
label = Label(tf3,image = photo)
label.grid()
label.image = photo
#引用控件tf,在Frame控件中可以包含多個按鈕,是以可以将定義好的Frame控件tf中的按鈕按照自己需要的最終布局效果設定對應的行列及行寬和列寬。
photo2 = PhotoImage(file = 'bq.gif')
eBut = Button(tf, text=' 表情 ', image=photo2, command=express)
eBut.grid(row = 1,column = 1,padx=8)
photo1 = PhotoImage(file = 'wj.gif')
b2=Button(tf,text=' 檔案 ',image=photo1,command=openfile)
b2.grid(row = 1,column = 2,padx=8,pady=15)
photo3 = PhotoImage(file = 'tp.gif')
b3=Button(tf,text=' 圖檔 ',image=photo3,command=openpic)
b3.grid(row = 1,column = 3,padx=8,pady=15)
photo4 = PhotoImage(file = 'sp.gif')
b4=Button(tf,text=' 視訊 ',image=photo4,command=openvideo)
b4.grid(row = 1,column = 4,padx=8,pady=15)
photo5 = PhotoImage(file = 'yj.gif')
b5=Button(tf,text=' 郵件 ',image=photo5,command=youjian)
b5.grid(row = 1,column = 5,padx=8,pady=15)
photo6 = PhotoImage(file = 'FTP.gif')
b6=Button(tf,text=' FTP共享 ',command=ftp,image=photo6)
b6.grid(row = 1,column = 6,padx=8,pady=15)
photo7 = PhotoImage(file = 'tq.gif')
b7=Button(tf,text=' 天氣 ',image=photo7,command=tianqi)
b7.grid(row = 1,column = 7,padx=8,pady=15)
#引用控件tf2,在Frame控件中可以包含多個按鈕,是以可以将定義好的Frame控件tf2中的按鈕按照自己需要的最終布局效果設定對應的行列及行寬和列寬。
b1=Button(tf2,text=' 發送(s) ',command=send,overrelief='sunken')
b1.grid(row = 5,column = 1,padx=10)
#tf2.bind('<Return>', send) # 綁定回車發送資訊
b8=Button(tf2,text=' 關閉(c) ',command=exit)
b8.grid(row = 5,column = 2,padx=10)
root.mainloop()
最終效果:
同理,控件tf3為聊天室的右側分區。
應用控件之後,按鈕的布局清晰很多,也能使聊天界面更加美觀整齊。