[Development] Execute a function in the specified existing thread

Volker Hilsheimer volker.hilsheimer at qt.io
Fri Jun 9 18:05:41 CEST 2023



On 9 Jun 2023, at 02:00, Thiago Macieira <thiago.macieira at intel.com> wrote:

On Wednesday, 7 June 2023 19:18:02 PDT JiDe Zhang wrote:
please make sure your contribution uses QMetaCallEvent.

Why uses QMetaCallEvent? I don't know how to make the function arguments to
void** for QMetaCallEvent constructor. Maybe I can use
QAbstractMetaCallEvent.

My point is that a contribution to QtCore should use the most efficient method
of getting the job done without undue complexity. That means I can accept
inefficiencies provided they make the code more readable & maintainable than
otherwise would have been, but not if they aren't justified.

As of https://codereview.qt-project.org/c/qt/qtbase/+/469799, creating a QMetaCallEvent is pretty straight-forward.

And creating the QCallableObject needed for that is also easier by the makeSlotObject helper, see https://codereview.qt-project.org/c/qt/qtbase/+/475547.

It’s still requires working with private APIs, but there’s a reason those APIs exist, and that they are private - there are many cases you want to support (functors and lambdas, member-function-pointers, free functions, move-only functors etc).

Volker

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20230609/cada38eb/attachment-0001.htm>


More information about the Development mailing list