盤點界面編程中那些常用控制項,詳解PyQt5中標籤控制項QLabel的使用

2021-01-10 python高手養成

PyQt比較受歡迎的地方在於其強大的控制項支持,從本篇開始,我將帶大家詳細了解下PyQt5中的一些常用控制項。喜歡Python編程的小夥伴們關注我,後續會推出一些GUI編程相關內容。

歡迎大家關注

QLabel控制項是PyQt中一個常用的控制項,它不僅可以作為一個佔位符顯示不可編輯的文本或圖片(展示GIF動畫圖片),還可以被用作提示標記為其他控制項;一些純文本、連結或富文本可以顯示在QLabel標籤上。

如何給控制項貼上標籤?

QLabel類

先來看下QLabel類的父類有哪些?

我們之前有一篇文章提到了獲取類的多繼承順序的方法,我們使用了inspect模塊(參見高樓萬丈平地起,基礎要打牢!Python獲取類的層次結構和繼承順序)。這裡,我們看下QLabel的繼承順序是怎樣的?

import inspect

from PyQt5.QtWidgets import QLabel

print(inspect.getmro(QLabel))

>>>

(<class 'PyQt5.QtWidgets.QLabel'>, <class 'PyQt5.QtWidgets.QFrame'>, <class 'PyQt5.QtWidgets.QWidget'>, <class 'PyQt5.QtCore.QObject'>, <class 'sip.wrapper'>, <class 'PyQt5.QtGui.QPaintDevice'>, <class 'sip.simplewrapper'>, <class 'object'>)

準確的繼承順序應該是這樣的:

object>sip.simplewrapper>QPaintDevice>sip.wrapper>QObject>QWidget>QFrame>QLabel

結果得知,QLabel類直接繼承自QFrame類。

QLabel常用方法

QLabel常用方法如下:

方法匯總

QLabel常用信號

我們知道,PyQt使用了信號槽的機制來綁定控制項響應事件。那麼,QLabel中提供的常用信號有哪些呢?主要針對超連結中使用的信號進行說明:

強大的信號和槽機制

linkActivated:單擊標籤中的超連結(此時,希望在新窗口中打開該連結,setOpenExternalLinks必須設置為True)

linkHovered:滑鼠指針划過標籤的超連結

應用案例

使用標籤顯示圖片、文本、超連結

我們使用標籤控制項實現下面的界面:

程序最終實現效果

第一個標籤是綠色背景文本標籤;第二個標籤是個超連結標籤,當滑鼠經過時,列印信息;第三個標籤用於顯示Pixmap圖像;第四個標籤超連結百度搜索關鍵字Python,單擊該標籤時,瀏覽器窗口打開百度搜索Python的內容。

開始吧

不贅述,直接上代碼如下圖所示。

導入模塊及創建4個標籤類
設置標籤屬性及類應用

好了,成功完成了上述功能。

setBuddy()方法應用案例

上面提到了可以設置標籤的Buddy(夥伴),將標籤和另一個QWidget控制項綁定(暫時這麼稱呼),然後當使用快捷鍵時,焦點自動轉到標籤對應的夥伴上面,這樣,提高了用戶交互的便利性。尤其是在進行大量文本輸入時,這種方式很實用。

我們看下面的例子:

setBuddy()方法應用案例

本例中,當我們按下快捷鍵"Alt+P"時,焦點自動轉移到密碼輸入框中,其它快捷鍵依次類推。

關注我,後續會有精彩內容

好了,今天的內容就到這裡了。主要演示了常用控制項QLabel的用法。喜歡Python編程的小夥伴們關注我,後續推出更多關於PyQt控制項相關內容,便於大家建立一個自己的GUI程序界面框架。

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

相關焦點

  • Python GUI編程之tkinter的常用控制項Label的使用
    我們知道,東西的標籤是不能亂貼的,比如一件商品,價格標錯了,可能會有損失哦。對於Python GUI編程中標籤的使用也不例外,Tkinter中的標籤控制項Label常常被使用於顯示文本或圖像,今天我們來詳細看下它的使用方法。下面開始今天的內容……
  • 圖形界面編程技巧,用Python中PyQt5庫快速創建一個應用程式框架
    我們知道,Python中有很多GUI庫,這些庫在創建應用程式時都很方便,常用的GUI庫有tkinter、wxPython、PyQt、Kivy、Pyforms、pyGUI等,比較經典的庫有tkinter、wxPython、PyQt。從今天開始,和小夥伴們一起梳理一下關於PyQt創建GUI應用程式的一些知識點和方法。
  • VB基礎:掌握listbox和combobox控制項的應用「VB學習筆記2020課堂版...
    簡介 INTRODUCTIONlistbox列表框控制項和combobox組合框控制項的用法類似,只是界面風格不同。.界面製作2.功能開發課程目標:VB基礎:掌握listbox和combobox控制項的應用理解:listbox列表框控制項和combobox組合框控制項的用法類似,只是界面風格不同。
  • QR CODE二維碼生成控制項
    QR CODE二維碼生成控制項是編程控制項頻道下深受用戶喜愛的軟體,太平洋下載中心提供QR CODE二維碼生成控制項官方下載。
  • BeauGauge虛擬儀表控制項使用(VC++)
    BeauGauge是套圖形儀表控制項組合。它應用於仿真、科學、儀表、自動化、工業監控等領域,可快速生成多種虛擬儀表。軟體內置多種圖形組件,開發者只需通過滑鼠進行簡單操作,就可自己定義自己的儀表。BeauGauge Instrumentation Suite 的ActiveX 控制項負責將設計好的控制項模板最終顯示到用戶界面上。它是一個ActiveX控制項,可以用在使用ActiveX控制項的任意地方,包括各個主流開發環境。下面將演示開發環境使用控制項的過程。
  • qt布局控制項 - CSDN
    Qt基本控制項及三大布局來源: http://blog.csdn.net/a2604539133/article/details/73920696Qt基本模塊一、Qt的三大布局QHBoxLayout:水平顯示布局,所有在其上面擺放的控制項只能水平排列下去;
  • 一步一步教會你,詳解用Python實現一個簡易的溫度換算GUI小工具
    今天,我們來使用Python完成一個小工具的製作。很簡單,就是對於攝氏溫度和華氏溫度的相互換算。但是,我們的目的是複習一下之前學過的Python中tkinter的小內容。,比如,常用的EntryField,就是類似我們今天Label+Entry控制項,但是它的功能比簡答二者組合的功能要豐富的多,EntryField控制項可以對於輸入進行限定,這樣就不需要我們編寫額外的代碼了。
  • 葡萄城首席架構師:前端開發與Web表格控制項技術解讀
    Issam Elbaytam在開發過程中發現:大部分企業用戶在處理數據、統計數據時,更習慣使用Excel。 Why?企業Web應用中「Excel」的重要性 Excel 作為一款深受用戶喜愛的電子表格工具,藉助其直觀的界面、出色的計算性能、數據分析和圖表,已經成為數據統計領域不可或缺的軟體之一。
  • 為觸屏手機而設計:拇指操作的「熱區/死角」與「控制項尺寸」
    熱區與死角的差異有多大?那使用雙手,食指操作還有沒有熱區和死角的差異呢?單手拇指操作和雙手食指操作對於控制項尺寸的設計要求又有什麼差異?一、研究背景觸屏手機界面設計的背景與挑戰挑戰1:發展時間短,國內外的研究都尚處在探索階段,充滿未知和不確定。
  • Web前端應用十種常用技術
    1、界面元素的需求在Web前端開發中,簡單這個原則是很重要的。在任何時候,你在屏幕上顯示越多的控制,您的用戶將不得不花費更多的時間去搞清楚如何使用界面。當選擇變少時,可用的功能變得更加明顯更容易被發現。
  • 使用Python製作一個帶GUI界面的詞雲自動生成工具(連載四)
    擁有這件神器,菜鳥也可以成為數據分析大師(連載三)),主要是對界面中多次生成Checkbutton和tkinter常用布局的優缺點進行了回顧總結qi但是,我們需要考慮另一個問題,如果我們需要去除的字符不再選項中呢?這點是必須要考慮到的,我們在界面中添加了一個自定義清洗字符的控制項(使用EntryField和Button控制項),輸入自定義去除字符,通過單擊『添加』按鈕,實現將自定義字符添加到去除列表的功能。第二部分顯示清洗內容,這一部分主要使用ScrolledText控制項顯示。
  • 微軟發布Fluent UI Android控制項
    打開APP 微軟發布Fluent UI Android控制項 玄隱 發表於 2020-11-23 09:47:58 微軟博客近期宣布了適用於Surface Duo的Fluent UI Android控制項的第一個版本。
  • 表格控制項Spread.NET V14.0 發布:支持 .NET 5 和 .NET Core 3.1
    此外,Spread.NET 還在 V14.0中增強了自定義單元格類型,現在可以將 .NET對象直接作為自定義單元格使用。以下為Spread.NET V14.0 的新特性介紹:1.使用這個新程序包,就可以在 .NET 5 和 .NET Core 3.1 中使用Spread表格控制項創建WinForms應用程式,並使用GrapeCity Spread.NET控制項移植現有的WinForms項目。
  • LabVIEW實例,如何編程實現一個虛擬FFT分析儀
    實例說明虛擬FFT分析儀前面板軟體界面如下圖所示:虛擬FFT分析儀軟體中包含的功能如下:仿真信號產生功能,可產生能夠疊加均勻白噪聲的正弦波、三角波、方波及鋸齒波等常用信號,對信號的頻率、幅值等參數能夠進行設置;FFT頻譜分析功能,可進行平均參數設置(如平均模式、加權模式及平均次數等)、窗函數設置、重新開始平均設置等,同時也給出了平均是否完成的指示信息
  • LabVIEW編程技巧:如何實現子程序動態加載、運行、顯示及值交互
    問題提出在使用LabVIEW軟體編寫大型測試軟體時,對於某些子程序,考慮到程序執行效率及前面板大小有限等因素,有時需要在主程序中動態加載運行並顯示其前面板,同時也要實現主程序與子程序控制項之間的值交互,如主程序能夠讀取或修改子程序前面板中某個控制項的值
  • 珀金埃爾默分析儀器製造商搭建基於表格控制項SpreadJS的一體化信息管理系統
    ,滿足了科學實驗中對於數據精度的要求。選擇表格控制項 SpreadJS 的主要原因珀金埃爾默通過引入 SpreadJS ,搭建了這套報告自動化系統,改變了以往需要手動錄入數據的工作流程,避免了錯誤的產生,節省了人力成本,提高了實驗分析效率。與此同時,系統還藉助高性能的計算引擎,滿足了科學實驗中對於數據精度的要求。
  • 表格控制項SpreadJS助力明源雲,打造更智慧的地產生態鏈
    SpreadJS提供高度類似Excel的功能界面 葡萄城是全球領先的軟體開發技術提供商,明源雲本次選擇使用的是,該產品基於 HTML5,兼容 450 種以上的 Excel 公式,提供開放的 API 和高度類似 Excel 的操作模式,可為用戶帶來親切、易用的使用體驗。通過嵌入SpreadJS,開發者可快速實現類 Excel 功能,並順利完成多人在線填報系統的開發與維護。
  • 如何在Vue3中使用Element Plus單選按鈕組
    工具HBuilderX瀏覽器Gitnpm技術Vue3Element PlusJavaScript 在使用Vue3 + Element Plus搭建的項目時,可以使用Element Plus中的控制項el-radio-button組控制輸入框顯示值。
  • Python語言中使用pyqtgraph庫實現數據可視化
    背景在Python程式語言中,matplotlib是一種常用的用於數據可視化的繪圖庫,它提供了一套和matlab相似的命令API,開發者可以僅需幾行代碼,便可生成如直方圖,功率譜,條形圖,錯誤圖,散點圖等圖形,適用於交互式繪圖,而且也可以方便地將它作為繪圖控制項嵌入到GUI應用程式中