Skip to content

Commit e26c6b0

Browse files
committed
Add null QVariant constructor
1 parent 4b6566c commit e26c6b0

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

qttypes/src/qtcore/qvariant.rs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,13 @@ impl QVariant {
9393
})
9494
}
9595

96+
/// Return a `null` QVariant, in contrast to `default()` which returns an `undefined` QVariant.
97+
pub fn null() -> QVariant {
98+
cpp!(unsafe [] -> QVariant as "QVariant" {
99+
return QJsonValue().toVariant();
100+
})
101+
}
102+
96103
// FIXME: do more wrappers
97104
}
98105

@@ -293,4 +300,15 @@ mod tests {
293300
assert_eq!(qv.to_int(), 313);
294301
assert_eq!(format!("{:?}", qv), "QVariant(int: \"313\")");
295302
}
303+
304+
#[test]
305+
fn qvariant_null() {
306+
let qv_undefined = QVariant::default();
307+
assert!(qv_undefined.is_null());
308+
assert!(!qv_undefined.is_valid());
309+
310+
let qv_null = QVariant::null();
311+
assert!(qv_null.is_null());
312+
assert!(qv_null.is_valid());
313+
}
296314
}

0 commit comments

Comments
 (0)