属性界面实例:

Qt qtpropertybrowser使用实例(1)_qtproperty

代码如下:

#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;
 }