《零基礎入門學習Python》第065講:GUI的終極選擇:Tkinter2
第一個例子
前面我們說過,Label 組件是用於在界面上輸出描述性的標籤,例如:提示用戶“你所下載的影片含有未成年人限制的內容,請滿18周歲後再點擊觀看!”。我們可以使用Label 的文本輸出功能來簡單的實現,但是呢,現在大家基本上都擁有了自動過濾掉不和諧字眼的能力了,所以我們有必要在旁邊加一個醒目的圖片,試圖起到一個警示和震懾的作用,如下圖所示:

我們一起動手來實現吧:
(注意:如果你出現這個錯誤:couldn't recognize data in image file,那一定是因為你的圖片格式為.jpg格式,請將圖片另存為.gif 格式。)
運行結果:

貌似實現了,但是不太一樣,我們要求的是:文字在左邊,圖片在右邊,我們可以這樣修改:
效果如下:(和要求的一模一樣)

那還有人要提意見了:“你這文字太長,能不能對文字進行換行?”
可以的,因為tkinter的字符串也是支持轉義字符\n,表示換行,因此,我們可以這樣修改:
textLabel = tk.Label(root, text = "你所下载的影片含有未成年人限制的内容,\n请满18周岁后再点击观看!")
實現效果如下:

又有人有問題了:“文字應該左對齊,然後跟邊框保留一定的間距,比較美觀吧!”
沒問題,這也是可以實現的。
左對齊 :只需要設置Label的justify選項就可以了,
justify 用法:
1.定義如何對齊多行文本
2.使用"left","right"或"center"
3.注意,文本的位置取決於anchor選項
4.默認值是"center"
所以,我們這樣修改就可以了:
運行結果如圖:

第二個例子
有些時候,你可能不想要圖片和文字分開,例如你想把圖片作為背景,文字顯示在圖片上面,那麼Label 組件可以做到嗎?
No problem!你只需要簡單的設置 compound 選項就可以了。
compound 用法:
1.控制Label中文本和圖像的混合模式
2.默認情況下,如果有指定位圖或圖片,則不顯示文本
3.如果該選項設置為"center",文本顯示在圖像上(文本重疊圖像)
4.如果該選項設置為"bottom","left","right"或"top",那麼圖像顯示在文本的旁邊(如"bottom",則圖像在文本的下方)
5.默認值是NONE
運行結果如下:

接下來,我們來講講Botton 組件,Botton 就是按鈕,Botton 的絕大多數選項都和Label 是一樣的,不過,Bottom 有一個功能,就是可以接收用戶的信息,簡而言之,Botton 組件就是用於讓用戶自己說:“幹”,然後通過按鈕上的文字讓用戶清楚按下此按鈕是乾什麼用的,相信大家還記得,Botton 組件有一個叫做command 的選項,用於指定一個函數或者方法,它的作用就是當用戶點下這個按鈕的時候,tkinter 就會自動調用這個指定的函數或是方法,好了,接下來,我們來修改第一個例子,添加依噶按鈕,然後在按鈕被按下時,Label 文本發生改變。
OK,想要讓文本發生改變,只需要設置一個名為 textvariable 的選項就可以了:
textvariable 用法
1. Label顯示Tkinter變量(通常是一個StringVar變量)的內容
2.如果變量被修改,Label的文本會自動更新
我還是在例子中給大家講解:
運行結果如下:

點擊按鈕:

上面就是我們這節課的內容。相信大家現在已經有一個大問題了,這麼多選項,你演示這麼多,我怎麼全部記得住啊,沒關係,不要怕,我這裡已經給大家準備好了,
Label組件用法:Tkinter組件詳解(一):Label
Botton組件用法:Tkinter組件詳解(二):Button
我這裡已經把所有選項的用法以及功能都給大家列舉出來了,還舉了例子,大家隨時查閱即可。
0 留言:
發佈留言