Skip to main content

QVariantConvertible

Trait QVariantConvertible 

Source
pub trait QVariantConvertible: Sized {
    // Required methods
    fn to_qvariant(&self) -> QVariant;
    fn try_from_qvariant(value: &QVariant) -> Result<Self, ()>;
}
Expand description

A type that cross to and from QML by value.

This is the bound for values stored in a model role (see QModelItem) and for value-typed properties and method arguments. Implemented for:

  • Primitive numeric types and bool
  • String
  • Vec<T> where T is one of the above

QObject handles (Rc<RefCell<T>>) are deliberately not QVariantConvertible as they cross as a pointer.

Required Methods§

Source

fn to_qvariant(&self) -> QVariant

Convert to QVariant. Intended for use with references only.

Source

fn try_from_qvariant(value: &QVariant) -> Result<Self, ()>

Fallible conversion from QVariant to a value type.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl QVariantConvertible for Value

Available on crate feature serde_json only.
Source§

impl QVariantConvertible for bool

Source§

impl QVariantConvertible for f32

Source§

impl QVariantConvertible for f64

Source§

impl QVariantConvertible for i8

Source§

impl QVariantConvertible for i16

Source§

impl QVariantConvertible for i32

Source§

impl QVariantConvertible for i64

Source§

impl QVariantConvertible for isize

Source§

impl QVariantConvertible for u8

Source§

impl QVariantConvertible for u16

Source§

impl QVariantConvertible for u32

Source§

impl QVariantConvertible for u64

Source§

impl QVariantConvertible for ()

Source§

impl QVariantConvertible for usize

Source§

impl QVariantConvertible for String

Source§

impl QVariantConvertible for Vec<Value>

Available on crate feature serde_json only.
Source§

impl QVariantConvertible for Vec<bool>

Source§

impl QVariantConvertible for Vec<f32>

Source§

impl QVariantConvertible for Vec<f64>

Source§

impl QVariantConvertible for Vec<i8>

Source§

impl QVariantConvertible for Vec<i16>

Source§

impl QVariantConvertible for Vec<i32>

Source§

impl QVariantConvertible for Vec<i64>

Source§

impl QVariantConvertible for Vec<isize>

Source§

impl QVariantConvertible for Vec<u8>

Source§

impl QVariantConvertible for Vec<u16>

Source§

impl QVariantConvertible for Vec<u32>

Source§

impl QVariantConvertible for Vec<u64>

Source§

impl QVariantConvertible for Vec<usize>

Source§

impl QVariantConvertible for Vec<String>

Implementors§