Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QQmlThread Class Reference

#include <qqmlthread_p.h>

+ Inheritance diagram for QQmlThread:
+ Collaboration diagram for QQmlThread:

Public Member Functions

 QQmlThread ()
 
virtual ~QQmlThread ()
 
void lock ()
 
void unlock ()
 
void wakeOne ()
 
void wait ()
 
QThreadthread () const
 
QObjectthreadObject () const
 And object living in the QML thread, in case you want to parent other objects to it.
 
bool isThisThread () const
 
template<typename Method, typename ... Args>
void callMethodInThread (Method &&method, Args &&...args)
 
template<typename Method, typename ... Args>
void callMethodInMain (Method &&method, Args &&...args)
 
template<typename Method, typename ... Args>
void postMethodToThread (Method &&method, Args &&...args)
 
template<typename Method, typename ... Args>
void postMethodToMain (Method &&method, Args &&...args)
 
void waitForNextMessage ()
 
void discardMessages ()
 

Protected Member Functions

void startup ()
 
void shutdown ()
 

Friends

class QQmlThreadPrivate
 

Detailed Description

Definition at line 29 of file qqmlthread_p.h.

Constructor & Destructor Documentation

◆ QQmlThread()

QQmlThread::QQmlThread ( )

Definition at line 160 of file qqmlthread_impl.cpp.

References QQmlThreadPrivate::QQmlThreadPrivate().

+ Here is the call graph for this function:

◆ ~QQmlThread()

QQmlThread::~QQmlThread ( )
virtual

Definition at line 165 of file qqmlthread_impl.cpp.

Member Function Documentation

◆ callMethodInMain()

template<typename Method, typename ... Args>
void QQmlThread::callMethodInMain ( Method && method,
Args &&... args )

Definition at line 114 of file qqmlthread_p.h.

◆ callMethodInThread()

template<typename Method, typename ... Args>
void QQmlThread::callMethodInThread ( Method && method,
Args &&... args )

Definition at line 121 of file qqmlthread_p.h.

◆ discardMessages()

void QQmlThread::discardMessages ( )
Note
This method must be called in the main thread
Warning
This method requires that the lock is held!

Clear all pending events, for either thread.

Definition at line 374 of file qqmlthread_impl.cpp.

References isThisThread().

Referenced by shutdown().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isThisThread()

bool QQmlThread::isThisThread ( ) const

Definition at line 226 of file qqmlthread_impl.cpp.

Referenced by discardMessages(), QQmlThreadPrivate::triggerMainEvent(), QQmlThreadPrivate::triggerThreadEvent(), and waitForNextMessage().

+ Here is the caller graph for this function:

◆ lock()

void QQmlThread::lock ( )

Definition at line 206 of file qqmlthread_impl.cpp.

Referenced by waitForNextMessage().

+ Here is the caller graph for this function:

◆ postMethodToMain()

template<typename Method, typename ... Args>
void QQmlThread::postMethodToMain ( Method && method,
Args &&... args )

Definition at line 135 of file qqmlthread_p.h.

◆ postMethodToThread()

template<typename Method, typename ... Args>
void QQmlThread::postMethodToThread ( Method && method,
Args &&... args )

Definition at line 128 of file qqmlthread_p.h.

◆ shutdown()

void QQmlThread::shutdown ( )
protected

Definition at line 181 of file qqmlthread_impl.cpp.

References discardMessages().

+ Here is the call graph for this function:

◆ startup()

void QQmlThread::startup ( )
protected

Starts the actual worker thread.

Definition at line 174 of file qqmlthread_impl.cpp.

◆ thread()

QThread * QQmlThread::thread ( ) const

Definition at line 231 of file qqmlthread_impl.cpp.

◆ threadObject()

QObject * QQmlThread::threadObject ( ) const

And object living in the QML thread, in case you want to parent other objects to it.

Definition at line 239 of file qqmlthread_impl.cpp.

◆ unlock()

void QQmlThread::unlock ( )

Definition at line 211 of file qqmlthread_impl.cpp.

Referenced by waitForNextMessage().

+ Here is the caller graph for this function:

◆ wait()

void QQmlThread::wait ( )

Definition at line 221 of file qqmlthread_impl.cpp.

◆ waitForNextMessage()

void QQmlThread::waitForNextMessage ( )
Note
This method must be called in the main thread
Warning
This method requires that the lock is held!

A call to this method will either:

  • run a message requested to run synchronously on the main thread if there is one (and return afterrwards),
  • wait for the worker thread to notify it if the worker thread has pending work,
  • or simply return if neither of the conditions above hold

Definition at line 343 of file qqmlthread_impl.cpp.

References isThisThread(), lock(), unlock(), and wakeOne().

+ Here is the call graph for this function:

◆ wakeOne()

void QQmlThread::wakeOne ( )

Definition at line 216 of file qqmlthread_impl.cpp.

Referenced by waitForNextMessage().

+ Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ QQmlThreadPrivate

friend class QQmlThreadPrivate
friend

Definition at line 70 of file qqmlthread_p.h.


The documentation for this class was generated from the following files: