PyQt5 – 如何为组合框中的每个项目设置图标

  • Post category:Python

关于PyQt5如何为组合框中的每个项目设置图标,可以通过以下步骤向组合框中添加带图标的选项,具体操作如下:

  1. 导入PyQt5库中的QtWidgets模块中的QComboBox和QIcon类,以及QtCore模块中的QSize类
from PyQt5.QtWidgets import QComboBox
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import QSize
  1. 创建QIcon对象并设置该图标的路径以及大小
icon = QIcon('path/to/icon.png')
icon_size = QSize(16, 16) # 设置图标大小为16x16像素
  1. 向组合框中添加带图标的选项,其中setItemIcon()方法可以指定每个选项的图标
combo_box = QComboBox()

# 添加第一个选项,并指定该选项的图标
item1 = combo_box.addItem('Option 1')
item1.setIcon(icon)

# 添加第二个选项,并指定该选项的图标
item2 = combo_box.addItem('Option 2')
item2.setIcon(icon)
  1. 最终的代码如下所示
from PyQt5.QtWidgets import QComboBox
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import QSize

icon = QIcon('path/to/icon.png')
icon_size = QSize(16, 16)

combo_box = QComboBox()
item1 = combo_box.addItem('Option 1')
item1.setIcon(icon)
item2 = combo_box.addItem('Option 2')
item2.setIcon(icon)

另一个示例是当希望为组合框中的选项提供不同的图标时,可以使用一个带有选项文本和图标的二元组列表,如下所示:

from PyQt5.QtWidgets import QComboBox
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import QSize

icons_with_labels = [
    ('Option 1', QIcon('path/to/icon1.png')),
    ('Option 2', QIcon('path/to/icon2.png')),
    ('Option 3', QIcon('path/to/icon3.png')),
]

combo_box = QComboBox()
for label, icon in icons_with_labels:
    item = combo_box.addItem(label)
    item.setIcon(icon)

在这个示例中,我们首先创建了一个二元组列表,其中每个元组表示带有选项文本和图标的选项。然后,我们通过遍历这个列表添加了每个选项,并为每个选项设置了对应的图标。