近期学习Qt,记录下学习过程,以免忘记。操作环境 WIN7+Qt 5.12.0。
首先解锁QtPropertyBrowser控件,参考文档:https://blog.csdn.net/czyt1988/article/details/78140050
新建 Qt Widgets Application 项目,命名 PropertyBrowserDemo,基类选择 QWidget。
编辑PropertyBrowserDemo.pro文件,添加控件路径
include($$[QT_INSTALL_PREFIX]/../Src/qttools/src/shared/qtpropertybrowser/qtpropertybrowser.pri)
添加Demo类
demo.h
#ifndef DEMO_H
#define DEMO_H
#include "qttreepropertybrowser.h"
#include "qtvariantproperty.h"
class Demo : public QtTreePropertyBrowser
{
public:
explicit Demo(QObject *parent);
public:
void initData();
void propertyValueChanged(QtProperty* property, const QVariant &value); // 属性变更槽
private:
QtVariantPropertyManager *m_pVarManager; // 属性管理器
QtVariantEditorFactory *m_pVarFactory; // 工厂用于属性的修改
QtVariantPropertyManager *m_pVarManager2; // 不可编辑组管理器
QtProperty *groupItem; // 定义属性组
QtVariantProperty *item; // 定义属性
QMap<QtProperty*,QString> propertyToId;
QMap<QString,QtProperty*> idToProperty;
};
#endif // DEMO_H
demo.cpp
#include "demo.h"
#include <QDebug