Qt中并没有属性表组件这一模块,只能通过运用其他人封装好的。
下面为下载链接,只需要往工程中添加所有的文件,即可使用
https://gitee.com/ggggy/qt-ShuXingBiao.git
下面为常见的用法:
在Qt Create中将widget组件提升为QtTreePropertyBrowser即可使用
或者 QtTreePropertyBrowser *widget; widget = new QtTreePropertyBrowser(tab);
创建一个mangager和工厂
QtVariantPropertyManager*m_pVarManager1;
QtVariantEditorFactory*m_pVarFactory;
m_pVarManager1 = new QtVariantPropertyManager(ui->widget);
m_pVarFactory = new QtVariantEditorFactory(ui->widget);
ui->widget->setFactoryForManager(m_pVarManager1,m_pVarFactory);
1.只添加一条属性
QtVariantProperty *temp00m = m_pVarManager->addProperty(QVariant::Double, QString::fromLocal8Bit("[%1]").arg(0));
temp00m->setValue(1);
itemm->addSubProperty(temp00m);
2.添加一组属性
QtProperty *groupItem1 = m_pVarManager1->addProperty(QVariant::Bool, QString::fromLocal8Bit("坐标:"));
for (int i = 0; i < size; i++)
{
QtVariantProperty *temp = m_pVarManager->addProperty(QVariant::Int, QString::fromLocal8Bit("[%1]").arg(i));
temp->setValue(center[i].x);
groupItem1->addSubProperty(temp);
}
3.可修改属性内容
ui->widget->setFactoryForManager(m_pVarManager1,m_pVarFactory);//将一个工厂与manger关联起来,即可修改内容。
4.数据类型
QVariant::Int为整型
QVariant::Bool 布尔型
QVariant::Double 浮点型
QVariant::String 字符串