首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在QLabel中显示标准图标和文本

在QLabel中显示标准图标和文本
EN

Stack Overflow用户
提问于 2012-05-10 12:19:19
回答 3查看 29.1K关注 0票数 12

我希望在pyqt中显示一个标准警告图标以及QLabel中的一些描述文本。Qlabel没有setIcon函数。那我怎么能这么做?

任何帮助都将不胜感激。

EN

回答 3

Stack Overflow用户

发布于 2012-05-13 20:06:59

QLabel没有setIcon方法,但它有setPixmap。但是,如果您使用它来设置一个QPixmap,它将重写您的文本。但要实现你想要的,有几种可能性:

  • 使用QLabel的html功能显示text+image
  • 使用两个标签,一个带有文本,另一个带有图像
  • 自己绘制组件

票数 22
EN

Stack Overflow用户

发布于 2020-10-09 11:42:13

我知道我参加派对有点晚了,但我有个解决办法:

代码语言:javascript
运行
复制
import qtawesome as qta
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *

class IconLabel(QWidget):

    IconSize = QSize(16, 16)
    HorizontalSpacing = 2

    def __init__(self, qta_id, text, final_stretch=True):
        super(QWidget, self).__init__()

        layout = QHBoxLayout()
        layout.setContentsMargins(0, 0, 0, 0)
        self.setLayout(layout)

        icon = QLabel()
        icon.setPixmap(qta.icon(qta_id).pixmap(self.IconSize))

        layout.addWidget(icon)
        layout.addSpacing(self.HorizontalSpacing)
        layout.addWidget(QLabel(text))

        if final_stretch:
            layout.addStretch()

我使用QtAwesome来获得所需的图标。

现在,您可以轻松地将图标标签插入到您自己的PyQt5布局中。举例说明。

代码语言:javascript
运行
复制
mylayout.addWidget(IconLabel("fa.scissors", "Slicer Limit:"))

它看起来是什么样子:

请注意,我包含了一个选项final_stretch。在垂直布局中,您需要保留final_stretch = True以保持正确的左对齐(请参阅图像回避)。但是,在水平布局中(即,将多个IconLabels放在同一行中),您可能希望设置final_stretch = False以节省空间。

票数 5
EN

Stack Overflow用户

发布于 2022-03-19 19:51:02

试一试,我希望它能很好地使用以下命令来安装qtawesome:

pip安装qtawesome

您可以使用任何类型的图标来自qtawesome。

`

代码语言:javascript
运行
复制
import qtawesome as qta

icon = qta.icon("fa.lock",color='blue')
self.ssl_label.setPixmap(icon.pixmap(QSize(16,16)))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10533838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档