Trait qmetaobject::QObject

source ·
pub trait QObject {
    // Required methods
    fn meta_object(&self) -> *const QMetaObject;
    fn static_meta_object() -> *const QMetaObject
       where Self: Sized;
    fn get_cpp_object(&self) -> *mut c_void;
    unsafe fn cpp_construct(pined: &RefCell<Self>) -> *mut c_void
       where Self: Sized;
    unsafe fn qml_construct(
        pined: &RefCell<Self>,
        mem: *mut c_void,
        extra_destruct: extern "C" fn(_: *mut c_void)
    )
       where Self: Sized;
    fn cpp_size() -> usize
       where Self: Sized;
    unsafe fn get_from_cpp<'a>(p: *mut c_void) -> QObjectPinned<'a, Self>
       where Self: Sized;

    // Provided method
    fn get_object_description() -> &'static QObjectDescriptor
       where Self: Sized { ... }
}
Expand description

Trait that is implemented by the QObject custom derive macro

Do not implement this trait yourself, use #[derive(QObject)].

The method of this trait fits into two categories: the ones that are re-implemented by the custom derive, and the ones that are used by this macro and need to be implemented by other QObject-like trait which you use in the qt_base_class! macro.

Required Methods§

source

fn meta_object(&self) -> *const QMetaObject

Returns a pointer to a meta object

source

fn static_meta_object() -> *const QMetaObject
where Self: Sized,

Returns a pointer to a meta object

source

fn get_cpp_object(&self) -> *mut c_void

return a C++ pointer to the QObject* (can be null if not yet initialized)

source

unsafe fn cpp_construct(pined: &RefCell<Self>) -> *mut c_void
where Self: Sized,

Construct the C++ Object.

Note, once this function is called, the object must not be moved in memory.

source

unsafe fn qml_construct( pined: &RefCell<Self>, mem: *mut c_void, extra_destruct: extern "C" fn(_: *mut c_void) )
where Self: Sized,

Construct the C++ Object, suitable for callbacks to construct QML objects.

source

fn cpp_size() -> usize
where Self: Sized,

Return the size of the C++ object

source

unsafe fn get_from_cpp<'a>(p: *mut c_void) -> QObjectPinned<'a, Self>
where Self: Sized,

Return a rust object belonging to a C++ object

Provided Methods§

source

fn get_object_description() -> &'static QObjectDescriptor
where Self: Sized,

Returns a QObjectDescriptor for this type

Implementations§

source§

impl dyn QObject

source

pub unsafe fn as_qvariant(&self) -> QVariant

Creates a C++ object and construct a QVariant containing a pointer to it.

The cpp_construct function must already have been called.

FIXME: should probably not be used. Prefer using a QmlEngine::new_qobject. QVariant is unsafe as it does not manage life time

source

pub fn destroyed_signal() -> Signal<fn()>

See Qt documentation for QObject::destroyed

source

pub fn set_object_name(&self, name: QString)

See Qt documentation for QObject::setObjectName

source

pub fn object_name_changed_signal() -> Signal<fn(_: QString)>

See Qt documentation for QObject::objectNameChanged

Implementors§