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_H2.添加资源文件
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列表"));