QtPropertyBrowser中的空白值

Blank values in QtPropertyBrowser

本文关键字:空白 QtPropertyBrowser      更新时间:2023-10-16

我使用QtPropertyBrowser作为QSqlTableModel的前端。所以表中的每个字段在浏览器中都有自己的属性。它允许用户编辑数据库中字段的值。但如果DB中的值为NULL,则该属性根本不会出现。我试过类似的东西

item->setValue(QVariant());

但它的结果是segfault。

字符串字段没有问题:如果它为NULL,我只插入QString("),属性浏览器中的值字段就会变为空。但是我能对数字数据类型做些什么呢?

谢谢。

文档声明QVariant::QVariant()构造了一个无效的变体。我只给它QVariant(0),它可以转换为大多数其他类型。

我将根据QT文档进行猜测

如果你的值为NULL,你可以像下面的组一样创建一个属性,但这不允许你编辑。如果不是,那么像你一直做的那样创建一个特性,并像往常一样设置它的值。

//Create a property
QtVariantProperty *nullType = variantManager->addProperty(
      QtVariantPropertyManager::groupTypeId(), "Your property name");

groupTypeId似乎允许QVariant:无效。