Qt添加icon图标(主要用于treeview或tableview的item前)

1.头文件内定义

#ifndef SELECTDEVICE_H
#define SELECTDEVICE_H
#include "facelist.h"
#include <QPersistentModelIndex>
#include <QModelIndex>
#include <QStandardItem>
#include <QStandardItemModel>
#include <QDialog>
#ifndef TREE_ITEM_ICON_folder
#define TREE_ITEM_ICON_folder QStringLiteral("treeItem_folder")
#endif
#ifndef TREE_ITEM_ICON_DataItem
#define TREE_ITEM_ICON_DataItem QStringLiteral("treeItem_dataItem")
#endif
#ifndef TREE_ITEM_ICON_TdmsGroup
#define TREE_ITEM_ICON_TdmsGroup QStringLiteral("treeItem_group")
#endif
 
namespace Ui {
class SelectDevice;
}
 
class SelectDevice : public QDialog
{
    Q_OBJECT
 
public:
    explicit SelectDevice(QWidget *parent = 0);
    ~SelectDevice();
 
    string retidstr;
    string retnamestr;
    QList<facelist*>selectdev;
    QList<QPersistentModelIndex> m_checkedList;
    void beginselect();
protected:
    void paintEvent(QPaintEvent *);
    void mousePressEvent(QMouseEvent *event);
    void mouseReleaseEvent(QMouseEvent *event);
    void mouseMoveEvent(QMouseEvent *event);
 
private slots:
    void treeItemChanged(QStandardItem * item);
    void treeItem_checkAllChild(QStandardItem * item, bool check);
    void treeItem_checkAllChild_recursion(QStandardItem * item,bool check);
    Qt::CheckState checkSibling(QStandardItem * item);
    void treeItem_CheckChildChanged(QStandardItem * item);
 
    void on_pushButton_clicked();
 
    void on_pushButton_2_clicked();
 
    void on_pushButton_3_clicked();
 
private:
    Ui::SelectDevice *ui;
    QMap<QString,QIcon> m_publicIconMap;///< 存放公共图标
};
 
#endif // SELECTDEVICE_H
 2.添加资源文件 

3.在cpp文件中加载图片

    m_publicIconMap[TREE_ITEM_ICON_DataItem] = QIcon(QStringLiteral(":/TreeIcon/TreeIcon/dataItem.png"));
    m_publicIconMap[TREE_ITEM_ICON_folder] = QIcon(QStringLiteral(":/TreeIcon/TreeIcon/folder.png"));
    m_publicIconMap[TREE_ITEM_ICON_TdmsGroup] = QIcon(QStringLiteral(":/TreeIcon/TreeIcon/group.png"));
4,使用
  QStandardItem *item = new QStandardItem(m_publicIconMap[QStringLiteral("treeItem_folder")],QString::fromUtf8("XX列表"));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值