Skip to content

Commit 5f5f465

Browse files
committed
Add null QVariant constructor
1 parent 84badb6 commit 5f5f465

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

qttypes/src/qtcore/qvariant.rs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,17 @@ 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+
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
100+
return QJsonValue().toVariant();
101+
#else
102+
return QVariant::fromValue(nullptr);
103+
#endif
104+
})
105+
}
106+
96107
// FIXME: do more wrappers
97108
}
98109

@@ -293,4 +304,15 @@ mod tests {
293304
assert_eq!(qv.to_int(), 313);
294305
assert_eq!(format!("{:?}", qv), "QVariant(int: \"313\")");
295306
}
307+
308+
#[test]
309+
fn qvariant_null() {
310+
let qv_undefined = QVariant::default();
311+
assert!(qv_undefined.is_null());
312+
assert!(!qv_undefined.is_valid());
313+
314+
let qv_null = QVariant::null();
315+
assert!(qv_null.is_null());
316+
assert!(qv_null.is_valid());
317+
}
296318
}

0 commit comments

Comments
 (0)