unsafe extern "C++" {
include!("src/cpp/qt_widget.h");
unsafe fn QVariant_from_int(v: i32) -> *mut QVariant;
unsafe fn QVariant_from_uint(v: u32) -> *mut QVariant;
unsafe fn QVariant_from_long(v: i64) -> *mut QVariant;
unsafe fn QVariant_from_bool(v: bool) -> *mut QVariant;
unsafe fn QVariant_from_double(v: f64) -> *mut QVariant;
unsafe fn QVariant_from_string(s: String) -> *mut QVariant;
unsafe fn QVariant_from_stringlist(v: Vec<String>) -> *mut QVariant;
unsafe fn QVariant_from_bytearray(data: &[u8]) -> *mut QVariant;
unsafe fn QVariant_delete(v: *mut QVariant);
unsafe fn QVariant_is_int(v: *mut QVariant) -> bool;
unsafe fn QVariant_is_uint(v: *mut QVariant) -> bool;
unsafe fn QVariant_is_long(v: *mut QVariant) -> bool;
unsafe fn QVariant_is_bool(v: *mut QVariant) -> bool;
unsafe fn QVariant_is_double(v: *mut QVariant) -> bool;
unsafe fn QVariant_is_string(v: *mut QVariant) -> bool;
unsafe fn QVariant_is_stringlist(v: *mut QVariant) -> bool;
unsafe fn QVariant_is_bytearray(v: *mut QVariant) -> bool;
unsafe fn QVariant_to_int(v: *mut QVariant, ok: *mut bool) -> i32;
unsafe fn QVariant_to_uint(v: *mut QVariant, ok: *mut bool) -> u32;
unsafe fn QVariant_to_long(v: *mut QVariant, ok: *mut bool) -> i64;
unsafe fn QVariant_to_bool(v: *mut QVariant, ok: *mut bool) -> bool;
unsafe fn QVariant_to_double(v: *mut QVariant, ok: *mut bool) -> f64;
unsafe fn QVariant_to_string(v: *mut QVariant, ok: *mut bool) -> String;
unsafe fn QVariant_to_stringlist(v: *mut QVariant) -> Vec<String>;
unsafe fn QVariant_to_bytearray(v: *mut QVariant) -> Vec<u8>;
}