LoginSignup
1
1

More than 5 years have passed since last update.

qRegisterMetaTypeしているにもかかわらずQObject::connectでランタイムエラーが出る場合の回避策

Last updated at Posted at 2015-11-17

Qt5でシグナルの引数としてユーザー定義型を指定する場合は、Q_DECLARE_METATYPEqRegisterMetaType()を使って方の登録を行う必要がある。

参考: http://doc.qt.io/qt-5/qmetatype.html#Q_DECLARE_METATYPE

ただしまれに(typedefされた型を登録する際?)登録を行っても以下のランタイムエラーが出てしまうことがある。

QObject::connect: Cannot queue arguments of type 'SomeUserDefinedType'
(Make sure 'SomeUserDefinedType' is registered using qRegisterMetaType().)

このような場合は以下の通りqRegisterMetaType()の引数を設定することで回避できることがある。

qRegisterMetaType<SomeUserDefinedType>("SomeUserDefinedType");
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1