【PyQt5】從零開始的PyQt5 - QLabel篇

從零開始的PyQt5 - QLabel篇

  • 引言
  • 一、簡述
  • 二、例程
    • 2.1 顯示到QWidget窗口上
    • 2.2 重新設置Label大小和對齊方式
    • 2.3 添加內容,設置邊框
    • 2.4 顯示富文本
  • 三、參考

引言

QLabel主要用于顯示文本或圖像,不提供用戶交互功能。本文主要簡述PyQt5中的QLabel以及展示常用例程。

一、簡述

QLabel可以包含以下任何內容類型:

內容設置方法
普通文本調用setText(),傳遞QString
富文本調用setText(),傳遞包含富文本的QString
圖片調用setPixmap(),傳遞QPixmap
動畫調用setMovie(),傳遞QMovie
數字調用setNum(),傳遞intdouble,和setText類似
調用clear(),與空白純文本相同
  1. QLable會嘗試猜測輸入的QString是以純文本還是富文本,需確保輸入格式正確,最好顯式調用setTextFormat() (默認Qt::AutoText,可手動傳遞Qt::PlainTextQt::RichText)。
  2. 默認顯示左對齊垂直居中的文本和圖像,其中要顯示的文本中的任何選項卡都會自動展開。其外觀可以通過多種方式進行調整和微調。

二、例程

2.1 顯示到QWidget窗口上

  • 效果展示
    在這里插入圖片描述

  • 源碼

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel
from PyQt5.QtCore import Qtclass ExampleApp(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):label = QLabel('Hello, QLabel!', self)  # 創建一個標簽設置文本,添加到此窗口中 (父窗口設置為此窗口)label.setAlignment(Qt.AlignCenter)      # 文本居中對齊self.setGeometry(300, 300, 400, 100)    # 設置窗口的布局self.show()if __name__ == '__main__':app = QApplication(sys.argv)ex = ExampleApp()sys.exit(app.exec_())

2.2 重新設置Label大小和對齊方式

  • 效果展示
    在這里插入圖片描述

  • 源碼

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel
from PyQt5.QtCore import Qtclass ExampleApp(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):label = QLabel('Hello, QLabel!', self)  # 創建一個標簽設置文本,添加到此窗口中 (父窗口設置為此窗口)label.setAlignment(Qt.AlignBottom | Qt.AlignRight)      # 文本靠右下label.resize(300, 100)                  # 設置大小self.setGeometry(300, 300, 400, 100)    # 設置窗口的布局self.show()if __name__ == '__main__':app = QApplication(sys.argv)ex = ExampleApp()sys.exit(app.exec_())

2.3 添加內容,設置邊框

  • 效果展示
    在這里插入圖片描述

  • 源碼

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QFrame
from PyQt5.QtCore import Qtclass ExampleApp(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):label = QLabel(self)  # 創建一個標簽設置文本,添加到此窗口中 (父窗口設置為此窗口)label.setText("first line\nsecond line")  # 設置內容label.setAlignment(Qt.AlignCenter)  # 居中label.resize(300, 100)  # 設置大小self.setGeometry(300, 300, 400, 100)  # 設置窗口的布局label.setStyleSheet("QLabel {"  # 設置邊框"  border: 2px solid red;""  border-radius: 5px;""}")self.show()if __name__ == '__main__':app = QApplication(sys.argv)ex = ExampleApp()sys.exit(app.exec_())

2.4 顯示富文本

  • 效果展示
    在這里插入圖片描述
  • 源碼
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QFrame
from PyQt5.QtCore import Qtclass ExampleApp(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):label = QLabel(self)  # 創建一個標簽設置文本,添加到此窗口中 (父窗口設置為此窗口)label.setText("<b>加粗</b> <i>斜體</i> <u>下劃線</u>")  # 設置內容label.setAlignment(Qt.AlignCenter)    # 居中label.resize(300, 100)                # 設置大小self.setGeometry(300, 300, 400, 100)  # 設置窗口的布局self.show()if __name__ == '__main__':app = QApplication(sys.argv)ex = ExampleApp()sys.exit(app.exec_())

三、參考

【Qt筆記】QLabel控件詳解:https://blog.csdn.net/qq_52924376/article/details/141430178
PyQt5深入解析:QLabel的靈活多變:https://blog.csdn.net/babybin/article/details/135775452
PyQt5控件介紹【標簽控件】-QLabel:https://zhuanlan.zhihu.com/p/677135910

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/83163.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/83163.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/83163.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

論文略讀:Uncertainty-Aware Graph Structure Learning

WWW 2025 1 intro 傳統GNN忽視了圖結構自身存在的缺陷: 圖結構常常會出現錯誤邊和缺失邊等數據問題&#xff0c;從而限制模型的效果 —>為了解決上述問題&#xff0c;產生了圖結構學習算法&#xff08;GSL&#xff09; 目的在于優化結點連接和邊權重來生成新的鄰接矩陣主流…

HCIE-STP復習

文章目錄 STP STP &#x1f3e1;作者主頁&#xff1a;點擊&#xff01; &#x1f916;Datacom專欄&#xff1a;點擊&#xff01; ??創作時間&#xff1a;2025年05月31日13點17STP通過三要素選舉消除環路&#xff1a; 根橋&#xff08;BID最小&#xff0c;建議設優先級為0&…

leetcode17.電話號碼的字母組合:字符串映射與回溯的巧妙聯動

一、題目深度解析與字符映射邏輯 題目描述 給定一個僅包含數字 2-9 的字符串 digits&#xff0c;返回所有它能表示的字母組合。數字與字母的映射關系如下&#xff08;與電話按鍵相同&#xff09;&#xff1a; 2: "abc", 3: "def", 4: "ghi", …

【Unity】模型漸變技術 BlendShapes變形

模型fbx拖拽到場景并賦予腳本上SkinnedMeshRenderer參數 按下空格即可演示漸變 可去到3DsMax 或 Blender等軟件制作 這種帶有BlendShapes的模型 (Sphere002)是另一個模型&#xff0c;3DsMax叫變形器。 可參考&#xff1a;【技術美術百人計劃】美術 3.5 BlendShape基礎_嗶哩嗶哩…

CTFHub-RCE 命令注入-無過濾

觀察源代碼 判斷是Windows還是Linux 源代碼中有 ping -c 4 說明是Linux 查看有哪些文件 127.0.0.1|ls 發現除了index.php文件外&#xff0c;還存在一個可疑的文件 打開flag文件 我們嘗試打開這個文件 127.0.0.1|cat 19492844826916.php 可是發現 文本內容顯示不出來&…

DrissionPage ChromiumPage模式:瀏覽器自動化的高效利器

引言 在Python自動化領域&#xff0c;Selenium與Requests是開發者耳熟能詳的工具&#xff0c;但二者在功能側重上存在明顯割裂。DrissionPage的出現打破了這一局面&#xff0c;其創新的ChromiumPage模式通過整合瀏覽器自動化與HTTP請求能力&#xff0c;為網頁操作提供了全新解…

uniapp分包配置,uniapp設置subPackages

在使用uniapp開發過程中&#xff0c;由于項目比較大&#xff0c;無法直接上傳&#xff0c;需要分包后才可以上傳。 步驟&#xff1a; 1、在pages同級目錄下創建分包的目錄&#xff08;pages_second&#xff09;&#xff0c;把要分包的文件放到該目錄下&#xff1b; 2、在pag…

零基礎一站式端游內存輔助編寫教程(無密)

目錄如下&#xff1a; 基礎理論篇 內存基礎概念&#xff08;如內存地址、數據類型、讀寫原理&#xff09;端游內存機制簡介&#xff08;游戲進程與內存分配&#xff09; 工具與環境搭建 常用內存分析工具介紹&#xff08;如 Cheat Engine、x64dbg 等&#xff09;開發環境配…

汽車售后診斷數據流詳細分析

一、引言 隨著汽車電子化程度的不斷提升&#xff0c;電控系統已成為車輛運行的核心支撐。據羅蘭貝格 2025 年智能汽車白皮書數據顯示&#xff0c;中央計算 區域控制架構&#xff08;Zonal EEA&#xff09;的普及率已突破 58%&#xff0c;推動整車線束成本下降 41%12。與此同時…

智能守護電網安全:探秘輸電線路測溫裝置的科技力量

在現代電力網絡的龐大版圖中&#xff0c;輸電線路如同一條條 “電力血管”&#xff0c;日夜不息地輸送著能量。然而&#xff0c;隨著電網負荷不斷增加&#xff0c;長期暴露在戶外的線路&#xff0c;其線夾與導線在電流熱效應影響下&#xff0c;極易出現溫度異常。每年因線路過熱…

設計模式——單例設計模式(創建型)

摘要 本文詳細介紹了單例設計模式&#xff0c;包括其定義、結構、實現方法及適用場景。單例模式是一種創建型設計模式&#xff0c;確保一個類只有一個實例并提供全局訪問點。其要點包括唯一性、私有構造函數、全局訪問點和線程安全。文章還展示了單例設計模式的類圖和時序圖&a…

Lyra學習筆記 Experience流程梳理

目錄 前言1 創建2 加載3 Deactivate4 總結與圖示 前言 這篇主要將視角放在Experience的流程&#xff0c;所以不會涉及一些更深的東西 之后ULyraExperienceManagerComponent簡稱為EMC 1 創建 完事開頭難&#xff0c;首先找到了管理Experience的組件&#xff0c;那么它的初始化…

Ubuntu下編譯mininim游戲全攻略

目錄 一、安裝mininim 軟件所依賴的庫&#xff08;重點是allegro游戲引擎庫&#xff09;二、編譯mininim 軟件三、將mininim打包給另一個Ubuntu系統使用四、安卓手機運行mininim 一、安裝mininim 軟件所依賴的庫&#xff08;重點是allegro游戲引擎庫&#xff09; 1. 用apt-get…

SMT貼片制造流程關鍵環節解析

內容概要 現代電子制造領域中&#xff0c;SMT&#xff08;表面貼裝技術&#xff09;作為核心工藝&#xff0c;其流程的精密性與穩定性直接決定產品性能與生產良率。本文以SMT貼片制造流程為主線&#xff0c;系統解析焊膏印刷、元器件貼裝、回流焊接三大核心工藝的技術要點。其…

HTTP/2與HTTP/3特性詳解:為你的Nginx/Apache服務器開啟下一代Web協議

更多服務器知識&#xff0c;盡在hostol.com 嘿&#xff0c;各位站長和服務器管理員朋友們&#xff01;咱們天天跟網站打交道&#xff0c;都希望自己的網站能像火箭一樣快&#xff0c;用戶體驗“嗖嗖”的。但你知道嗎&#xff1f;除了服務器硬件配置、代碼優化、CDN加速這些“常…

pytest 常見問題解答 (FAQ)

pytest 常見問題解答 (FAQ) 1. 基礎問題 Q1: 如何讓 pytest 發現我的測試文件&#xff1f; 測試文件命名需符合 test_*.py 或 *_test.py 模式測試函數/方法需以 test_ 開頭測試類需以 Test 開頭(且不能有__init__方法) Q2: 如何運行特定測試&#xff1f; pytest path/to/t…

【前端】SPA v.s. MPA

鏈接&#xff1a;頁面結構 誤區 頁面結構管理有兩種常見方式&#xff1a;路由形式 和 組件形式。路由形式 對應MPA &#xff0c;組件形式對應SPA ? 誤區 1&#xff1a;路由形式 MPA? 路由是 SPA 和 MPA 共有的概念&#xff0c;區別在于路由映射的對象&#xff1a; MPA 的…

Matlab數據類型

本篇介紹我在南農matlab課程上的所學&#xff0c;我對老師ppt上的內容重新進行了整理并且給出代碼案例。主要內容在矩陣。如果真的想學matlab&#xff0c;我不認為有任何文檔能夠超過官方文檔&#xff0c;請移步至官網&#xff0c;本篇說實話只是寫出來給自己和學弟學妹作期末復…

代碼隨想錄算法訓練營 Day58 圖論Ⅷ 拓撲排序 Dijkstra

圖論 題目 117. 軟件構建 拓撲排序&#xff1a;給出一個有向圖&#xff0c;把這個有向圖轉成線性的排序就叫拓撲排序。 當然拓撲排序也要檢測這個有向圖是否有環&#xff0c;即存在循環依賴的情況&#xff0c;因為這種情況是不能做線性排序的。所以拓撲排序也是圖論中判斷有向…

vscode中launch.json、tasks.json的作用及實例

文章目錄 launch.json是什么作用多環境調試簡單實例進階使用核心配置項解析調試第三方程序 launch.json是什么 顧名思義&#xff1a;它是在.vscode文件夾下的launch.json&#xff0c;所以是vscode啟動調試的配置文件。總結&#xff1a;通過定義調試參數、環境變量和啟動方式&a…