属性界面实例:
代码如下:
#include <QDate>
#include <QLocale>
#include "qtpropertymanager.h"
#include "qtvariantproperty.h"
#include "qttreepropertybrowser.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QtVariantPropertyManager* variantManager = new QtVariantPropertyManager();
int i = 0;
QtProperty* topItem = variantManager->addProperty(QtVariantPropertyManager::groupTypeId(),
QString::number(i++) + QLatin1String(" Group Property"));
QtVariantProperty* item = variantManager->addProperty(QVariant::Bool, QString::number(i++) + QLatin1String(" Bool Property"));
{
item->setValue(true);
topItem->addSubProperty(item);
}
QtVariantProperty* item11 = variantManager->addProperty(QVariant::Bool, QString::number(i++) + QLatin1String(" Bool Property1"));
{
item11->setValue(false);
topItem->addSubProperty(item11);
}
//
QtVariantProperty* topItem1 = variantManager->addProperty(QVariant::Double, "1");
{
topItem1->setAttribute(QLatin1String("decimals"), 5);
topItem1->setValue(3.1415926);
}
QtVariantProperty* topItem2 = variantManager->addProperty(QVariant::String, "2");
QtVariantEditorFactory* variantFactory = new QtVariantEditorFactory();
QtTreePropertyBrowser* variantEditor = new QtTreePropertyBrowser();
variantEditor->setFactoryForManager(variantManager, variantFactory);
{
variantEditor->addProperty(topItem);
variantEditor->addProperty(topItem1);
variantEditor->addProperty(topItem2);
}
variantEditor->setPropertiesWithoutValueMarked(true);
variantEditor->setRootIsDecorated(false);
variantEditor->show();
int ret = a.exec();
delete variantManager;
delete variantFactory;
delete variantEditor;
return ret;
}