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

来源:互联网 发布:matlab中蚁群算法 编辑:程序博客网 时间:2024/06/18 05:09

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列表"));

0 0
原创粉丝点击