Python GUI編程之tkinter的常用控制項Label的使用

2021-01-10 python高手養成

我們知道,東西的標籤是不能亂貼的,比如一件商品,價格標錯了,可能會有損失哦。對於Python GUI編程中標籤的使用也不例外,Tkinter中的標籤控制項Label常常被使用於顯示文本或圖像,今天我們來詳細看下它的使用方法。

下面開始今天的內容……

Let's Go!

【使用範圍】

顧名思義,標籤控制項Label是用來給控制項貼標籤用於展示信息的,當然,它就可以包含多行文本。

它的使用範圍,主要有以下幾種類型:

標識信息

這個很容易理解,比如,製作一個註冊界面,要輸入內容我們需要使用Entry或者Text等控制項獲取,但是,我們往往使用Label控制項放在這些控制項之前,標識我們需要在文本框內獲取哪些內容。相當於打了一個標籤……

旨在標識信息的標籤

圖片容器

我們知道,Label控制項的好處之一是簡單,相對於其它控制項,Label的優勢就在於此,使用Label充當一個圖片容器也是一個不錯的選擇。

它甚至可以被當成一個相框去使用

充當其它控制項使用

比如,可以把它當作一個按鈕來使用,對於按鈕的relief屬性設置合理,其實它就是一個按鈕了,當我們定義好它的事件回調函數後,它的功能和按鈕無異。

如果需要它可以做成膠囊按鈕使用

說白了,tkinter只是個入門級的圖形界面庫,使用這個庫發散下我們的思維,鞏固下基礎知識也是個不錯的選擇,此文的目的在於此,並非止於將標籤變為圖片容器或者其他什麼控制項……只是給大家提供個思路……

其它幾種需要說明的特殊屬性情況

1.但是一個標籤只能使用一種字體。如果你想要使用不同的字體,請定義不同的標籤。

2.你可以允許控制項根據可用空間大小換行,也可以在字符串中加入換行符來控制換行。

【實例演示】

我們先來寫一首詩,然後在詩中配一張圖片,都用標籤進行展示。原始碼如下:

from tkinter import *

root = Tk()root.title('標籤控制項演示')root.geometry('800x600+100+100')peom = '白日依山盡\n黃河入海流\n欲窮千裡目\n更上一層樓'img = PhotoImage(file='1.png')l_img = Label(root, image=img)l_img.pack(side=RIGHT, expand=YES, fill=BOTH)l_txt = Label(l_img, text = peom, fg='red', bg='#FFC65A', font=('微軟雅黑', 18, 'bold'))l_txt.pack(pady=20)root.mainloop()

效果應該是這樣的。如下圖所示。

使用了兩個標籤

比較簡單,相信大家都能看懂,又沒有簡潔的辦法呢?將這些內容放在同一個標籤中?當然可以,看下面的代碼。

from tkinter import *

root = Tk()root.title('標籤控制項演示')root.geometry('800x600+100+100')peom = '白日依山盡\n黃河入海流\n欲窮千裡目\n更上一層樓'img = PhotoImage(file='1.png')l_txt_img = Label(root, text = peom, fg='red', image=img,font=('微軟雅黑', 18, 'bold'),# 文字覆蓋在圖像上 compound='center',# 文字居中 anchor='center', )l_txt_img.pack(expand=YES, fill=BOTH)root.mainloop()

將圖片文字結合到一起了,代碼更少,視覺效果比之前也好一點了!如下圖所示。

使用一個Label控制項達到同樣的效果

下面,我們給標籤來點動態內容如何。當滑鼠移過標籤時,標籤的文字內容隨之換成另一首詩。原始碼如下所示:

from tkinter import *

def changetxt(event):if l_txt_img['text'] == peom: l_txt_img.config({'text': peom2}) else: l_txt_img.config({'text': peom})root = Tk()root.title('標籤控制項演示')root.geometry('800x600+100+100')peom = '白日依山盡\n黃河入海流\n欲窮千裡目\n更上一層樓'peom2 = '單車欲問邊,屬國過居延。\n徵蓬出漢塞,歸雁入胡天。\n大漠孤煙直,長河落日圓。\n蕭關逢候騎,都護在燕然。'img = PhotoImage(file='1.png')l_txt_img = Label(root, text = peom, fg='red', image=img,font=('微軟雅黑', 18, 'bold'),# 文字覆蓋在圖像上 compound='center',# 文字居中 anchor='center', )l_txt_img.pack(expand=YES, fill=BOTH)

# 綁定滑鼠移動事件l_txt_img.bind('<Motion>', changetxt)

root.mainloop()

當滑鼠經過標籤時,文字就會在王維的《使至塞上》和王之渙的《登鸛雀樓》兩首詩之間轉變。大家可以試試效果。當然,我們也可以將標籤變成按鈕進行使用。也是通過綁定其事件函數的方式實現,原理基本相同,只是綁定的回調函數是『<Button-1>』、'<ButtonRelease-1>'等等類似這種滑鼠單擊或雙擊事件,就看自己的需求咯。廢話不多說,喜歡的朋友們可以試試文中的效果。

關注我!後續會有精彩內容呈現

歡迎大家留言並且關注,後續會有精彩內容持續更新。

轉載請註明出處:(百家號:Python高手養成)。

相關焦點

  • 圖形界面編程技巧,用Python中PyQt5庫快速創建一個應用程式框架
    我們知道,Python中有很多GUI庫,這些庫在創建應用程式時都很方便,常用的GUI庫有tkinter、wxPython、PyQt、Kivy、Pyforms、pyGUI等,比較經典的庫有tkinter、wxPython、PyQt。從今天開始,和小夥伴們一起梳理一下關於PyQt創建GUI應用程式的一些知識點和方法。
  • 一步一步教會你,詳解用Python實現一個簡易的溫度換算GUI小工具
    今天,我們來使用Python完成一個小工具的製作。很簡單,就是對於攝氏溫度和華氏溫度的相互換算。但是,我們的目的是複習一下之前學過的Python中tkinter的小內容。模塊外,我們今天還用了一個叫Pmw的模塊,它裡面有很多功能豐富的控制項,比如,常用的EntryField,就是類似我們今天Label+Entry控制項,但是它的功能比簡答二者組合的功能要豐富的多,EntryField控制項可以對於輸入進行限定,這樣就不需要我們編寫額外的代碼了。
  • Python用tkinter製作一個簡單的re測試工具
    漂亮的代碼雨效果今天,我們用Python中自帶的tkinter庫製作一個簡單的re測試工具,通過這個工具的製作,我們掌握tkinter中常用控制項的布局、使用方法及有關re模塊的一些基礎知識。使用這些常量可以有效地對re正則表達式進行限制或功能擴展,使其匹配功能更加豐富。
  • PyAutoGUI:自動化鍵鼠操作的Python類庫
    Github頁面安裝和使用安裝PyAutoGUI非常簡單,從pip安裝即可。import pyautoguidistance = 100pyautogui.moveTo(400, 300)while distance > 0: pyautogui.drag(distance, 0, duration=0.1) distance -= 5 pyautogui.drag(0, distance, duration=0.1
  • 一個Python GUI神器,雙手徹底解放!
    它支持4個框架,包括tkinter,Qt,WxPython和Remi。與直接使用基礎框架編寫代碼相比,PySimpleGUI代碼更簡單、更短,因為PySimpleGUI實現了許多「樣板代碼」,並且接口已被極大的簡化,用最少的代碼即可實現所需功能。
  • 盤點界面編程中那些常用控制項,詳解PyQt5中標籤控制項QLabel的使用
    PyQt比較受歡迎的地方在於其強大的控制項支持,從本篇開始,我將帶大家詳細了解下PyQt5中的一些常用控制項。喜歡Python編程的小夥伴們關注我,後續會推出一些GUI編程相關內容。方法匯總QLabel常用信號我們知道,PyQt使用了信號槽的機制來綁定控制項響應事件。
  • 1個GUI界面,隨機生成若干姓名並保存為Excel,python如何實現?
    前面內容,我們詳細介紹了如何使用Python生成一定數量的隨機姓名。我們使用GUI界面來獲取用戶輸入相關設置(當然,還可以選擇控制臺方式),GUI界面看起來相對直觀一點。我們來看下界面效果。GUI界面講過很多了,PyQt5和tkinter等的介紹,之前也有很多內容,下面是一些有意思的案例:
  • 使用Python製作一個帶GUI界面的詞雲自動生成工具(連載四)
    擁有這件神器,菜鳥也可以成為數據分析大師(連載三)),主要是對界面中多次生成Checkbutton和tkinter常用布局的優缺點進行了回顧總結這點是必須要考慮到的,我們在界面中添加了一個自定義清洗字符的控制項(使用EntryField和Button控制項),輸入自定義去除字符,通過單擊『添加』按鈕,實現將自定義字符添加到去除列表的功能。第二部分顯示清洗內容,這一部分主要使用ScrolledText控制項顯示。
  • 「技術文章」《Python 資料庫 GUI CGI編程》
    使用的時候,必須安裝MySQLdb 模塊,否則會報出來模塊找不到。2.1 Linux下安裝MySQLdb模塊 使用包安裝可以 wget http://sourceforge.net/projects/mysql-python/files/latest/download$ tar xfz MySQL-python-1.2.3.tar.gz$ cd MySQL-python-1.2.3$whereis mysql_config
  • python編程30個常用技巧
    打開APP python編程30個常用技巧 深度學習這件小事 發表於 2020-12-24 15:07:51 1、冒泡排序
  • Python開發簡單爬蟲【學習資料總結】
    開發爬蟲步驟 python語言基礎:(帶你熟悉python語言的特性,學會使用python開發環境,使用python開發一些簡單的案例)
  • Python基礎學習之常用六大數據類型
    剛開始學習一門程式語言,除了了解運行環境與語言類型之外,最基本還是從該語言的基本數據類型開始學起。Python六大常用數據類型: int 整數 float 浮點數 str 字符串 list 列表 tuple 元組 dict 字典講解這些先說一下python中的變量與變量名。
  • 廣州Python測試培訓
    基礎編程語法;2、使用模塊進行程序設計3、使用Python創建文件、訪問、刪除文件。 主要內容: Python不同系統環境搭建、Linux常用命令、編輯器使用、伺服器及搭建、Python基本語法、python控制語句、Python模塊、Python模塊設計、Python函數、Json數據操作、Python文件操作、Python異常處理。
  • python matplotlib畫圖教程學習:使用介紹
    本篇文章介紹matplotlib包使用時,需要掌握的一些基本概念。下圖顯示了matplotlib圖形的基本構成部分,如figure(圖形)、axes(子圖形)、title(標題)、legend(圖例)、Major tick(大標尺刻度)、Minor tick(小標尺刻度)、Major tick label(大標尺刻度數值)、Minor tick label(小標尺刻度數值)、Y axis label(y軸指標說明)、X axis label(x軸指標說明)、Line
  • Python3.6實戰製作時鐘
    界面的話,我們使用python自帶的tk模塊進行設計。import tkinterimport timedef getCT():timestr = time.strftime("%H:%M:%S")lb.configure(text
  • Python語言中使用pyqtgraph庫實現數據可視化
    背景在Python程式語言中,matplotlib是一種常用的用於數據可視化的繪圖庫,它提供了一套和matlab相似的命令API,開發者可以僅需幾行代碼,便可生成如直方圖,功率譜,條形圖,錯誤圖,散點圖等圖形,適用於交互式繪圖,而且也可以方便地將它作為繪圖控制項嵌入到GUI應用程式中
  • Python為什麼這麼火?小孩子適合學習python編程嗎?
    「人生苦短,我選Python」——魯迅程式語言由於學習門檻比較高,一直以來似乎只有程式設計師之間會互相討論,普通人也很難對冰冷的語法和算法什麼的感興趣。但自從Python出現後,程式語言和我們日常生活中的鴻溝被悄悄打破了,越來越多的人開始使用它,甚至開始愛上它。
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    高級編程(6套課程) 注:零基礎全能篇中,針對windows和liunx系統均有兩套課程可供選擇學習,單純學python,哪個系統都一樣,初學者只需選擇自己熟悉的系統學習相應課程即可。 因篇幅有限,以下展示的只是課程裡部分內容如對python課程有更多疑問 請諮詢客服 1零基礎入門全能班 01 –python簡介 02 第一個程序 03-python執行方式和pycharm設置 04-程序的注釋和算術運算符 05 程序執行原理 06變量的使用以及類型 07
  • 如何在Python中創建交互式可視化?(建議收藏)
    在探索添加更多交互控制項之前,我們將僅以不同格式繪製數據開始。如果您一直關注我一段時間,會注意到這是數據可視化系列文章中的第三篇。首先使用默認的python可視化庫matplotlib引入了數據可視化。然後,我們學習了如何使用相同的庫在時間序列上創建動畫可視化效果。今天,我們將學習如何使用Plotly express。
  • 使用Python玩轉高等數學(5):三角函數
    matplotlib的繪圖命令和matlab的繪圖命令基本相似,在使用上可以互相借鑑。安裝matplotlib最簡單的方法就是在作業系統的命令行窗口分別輸入並執行下面的命令:python -m pip install -U pip setuptoolspython -m pip install -U matplotlib使用matplotlib繪圖,會用到Numpy庫,Numpy庫主要用於科學計算。