qt 属性控件 使用qt提供的源码 qtpropertybrowser(D:\Qt\5.15.2\Src\qttools\src\shared\qtpropertybrowser)在这个目录下
效果:
直接将头文件h和源文件cpp文件添加到项目中。
cmakeLists.txt:
file(GLOB qtpropertybrowser ${QTPROPERTYBROWSER_DIR}/*.cpp ${QTPROPERTYBROWSER_DIR}/*.h) include_directories("${QTPROPERTYBROWSER_DIR}")
设置了源文件路径
只有一个cpp文件:
#include "ParameterWidget.h" #include "qttreepropertybrowser.h" #include "qtvariantproperty.h" #include <QVBoxLayout> ParameterWidget::ParameterWidget(QWidget *parent) :QWidget(parent) { QVBoxLayout * vlayout = new QVBoxLayout; this->setLayout(vlayout); QtTreePropertyBrowser* treepropertybrowser = new QtTreePropertyBrowser; QtVariantPropertyManager *m_pVarManager = new QtVariantPropertyManager(treepropertybrowser); QtVariantProperty *item = m_pVarManager->addProperty(QVariant::Int, QStringLiteral("整形数据:")); item->setValue(101); treepropertybrowser->addProperty(item); item =m_pVarManager->addProperty(QVariant::Bool, QStringLiteral("布尔型数据:")); item->setValue(true); treepropertybrowser->addProperty(item); item =m_pVarManager->addProperty(QVariant::Double, QStringLiteral("浮点数据:")); item->setValue(3.1415926); treepropertybrowser->addProperty(item); item =m_pVarManager->addProperty(QVariant::String, QStringLiteral("字符串数据:")); treepropertybrowser->addProperty(item); item->setValue(QStringLiteral("尘中远")); vlayout->addWidget(treepropertybrowser); } ParameterWidget::~ParameterWidget() { }