can you send compilable code that reproduces this problem. I will try here. ________________________________ From: interest-bounces+pritam_ghanghas=infosys....@qt-project.org [interest-bounces+pritam_ghanghas=infosys....@qt-project.org] on behalf of Aekold Helbrass [helbr...@gmail.com] Sent: Friday, April 05, 2013 4:45 PM To: Qt-interest Interest Subject: Re: [Interest] QVariant cannot take custom type
Ok, I've tried this one: QVariant var(QMetaType::QObjectStar, &item); and it almost works. Pointer somehow gets crippled after using QMetaProperty.write. When Item* is created originally - address is 0x1b952fo. But into Holder it is written as 0x1b95480. Is is even possible? Maybe I'm constructing QMetaProperty not as intended?... On Fri, Apr 5, 2013 at 2:00 PM, Pritam Ghanghas <pritam_ghang...@infosys.com<mailto:pritam_ghang...@infosys.com>> wrote: use gdb and see where exactly it segfaults. That will give better pointers than random guesses. You can try posting backtrace here. ________________________________ From: interest-bounces+pritam_ghanghas=infosys....@qt-project.org<mailto:infosys....@qt-project.org> [interest-bounces+pritam_ghanghas=infosys....@qt-project.org<mailto:infosys....@qt-project.org>] on behalf of Aekold Helbrass [helbr...@gmail.com<mailto:helbr...@gmail.com>] Sent: Friday, April 05, 2013 4:15 PM To: Conti Manuele Cc: Qt-interest Interest Subject: Re: [Interest] QVariant cannot take custom type Thanx, that one was close, but still segfault: QSharedPointer<Item> pointer(item); QVariant var = QVariant::fromValue(pointer); list.append(var); On Fri, Apr 5, 2013 at 1:33 PM, Conti Manuele <conti...@alice.it<mailto:conti...@alice.it><mailto:conti...@alice.it<mailto:conti...@alice.it>>> wrote: Hi All, There is a problem in your code, actually I use this and work perfectly: Q_DECLARE_METATYPE(QSharedPointer<QPlcServerSocket::QExternalCommand>) qRegisterMetaType< QSharedPointer<QPlcServerSocket::QExternalCommand> >(); Bye On 04/05/2013 12:27 PM, Samuel Gaist wrote: > He explains how to handle QObject * so a pointer to QObject instance, not a > QObject instance. > > On 5 avr. 2013, at 12:22, Aekold Helbrass wrote: > >> So, it is absolutely impossible to use QObject-derived class with QVariant? >> I'm storing QList of pointers already, and I want to write that with >> QMetaProperty. The only thing that needs copy-constructor, in my >> understanding, is qRegisterMetaType invocation. >> >> I even read an article where guy explains how to get other types than one >> you're storing, so it looks like there is no problem in storing QObject in >> QVariant, but for some reason it doesn't work for me: >> http://steveire.wordpress.com/2011/03/16/implementing-qvariantqmetatype-features-with-template-tricks/ >> >> >> On Fri, Apr 5, 2013 at 12:44 PM, André Somers >> <an...@familiesomers.nl<mailto:an...@familiesomers.nl><mailto:an...@familiesomers.nl<mailto:an...@familiesomers.nl>>> >> wrote: >> Op 5-4-2013 11:39, Sven Bergner schreef: >>> Hello, >>> you can use a custom type with QVariant by declaring it >>> using Q_DECLARE_METATYPE ( Type ). >>> Hope that helps. >>> >> It does not. That was already in the code posted in the opening post. As >> noted by others, the issue lies with trying to use a QObject derived >> class here. >> >> André >> >> -- >> You like Qt? >> I am looking for collegues to join me at i-Optics! >> >> _______________________________________________ >> Interest mailing list >> Interest@qt-project.org<mailto:Interest@qt-project.org><mailto:Interest@qt-project.org<mailto:Interest@qt-project.org>> >> http://lists.qt-project.org/mailman/listinfo/interest >> >> _______________________________________________ >> Interest mailing list >> Interest@qt-project.org<mailto:Interest@qt-project.org><mailto:Interest@qt-project.org<mailto:Interest@qt-project.org>> >> http://lists.qt-project.org/mailman/listinfo/interest > _______________________________________________ > Interest mailing list > Interest@qt-project.org<mailto:Interest@qt-project.org><mailto:Interest@qt-project.org<mailto:Interest@qt-project.org>> > http://lists.qt-project.org/mailman/listinfo/interest > _______________________________________________ Interest mailing list Interest@qt-project.org<mailto:Interest@qt-project.org><mailto:Interest@qt-project.org<mailto:Interest@qt-project.org>> http://lists.qt-project.org/mailman/listinfo/interest **************** CAUTION - Disclaimer ***************** This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely for the use of the addressee(s). If you are not the intended recipient, please notify the sender by e-mail and delete the original message. Further, you are not to copy, disclose, or distribute this e-mail or its contents to any other person and any such actions are unlawful. This e-mail may contain viruses. Infosys has taken every reasonable precaution to minimize this risk, but is not liable for any damage you may sustain as a result of any virus in this e-mail. You should carry out your own virus checks before opening the e-mail or attachment. Infosys reserves the right to monitor and review the content of all messages sent to or from this e-mail address. Messages sent to or from this e-mail address may be stored on the Infosys e-mail system. ***INFOSYS******** End of Disclaimer ********INFOSYS*** _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest