From: Miquel Oliete Date: 2007-05-17T20:06:41+09:00 Subject: Re: TreeWidgetItem problem En/na Stefano Crocco ha escrit: > Alle gioved� 17 maggio 2007, Miquel ha scritto: > >> En/na Stefano Crocco ha escrit: >> >>> Alle gioved� 17 maggio 2007, Miquel ha scritto: >>> >>>> Hi there >>>> >>>> I'm trying to code a Tree using ruby qt bindings (Qt v4.2.0 using >>>> aboutQt() info). >>>> >>>> This is my code. >>>> >>>> @tree = Qt::TreeWidget.new(self) >>>> self.setCentralWidget(@tree) >>>> >>>> @rootItem = Qt::TreeWidgetItem.new(@tree) >>>> @rootItem.setText(0, "Root") >>>> >>>> 0.upto(10) do |index| >>>> item = Qt::TreeWidgetItem.new(@rootItem) >>>> item.setText(0, "Node#{index}") >>>> end >>>> >>>> The problem is in 'item = Qt::TreeWidgetItem.new(@rootItem)', system >>>> tells me: >>>> >>>> unresolved constructor call Qt::TreeWidgetItem (ArgumentError) >>>> >>>> and reading Qt documentation there are two constructors allowed: >>>> >>>> QTreeWidgetItem ( QTreeWidget * parent, int type = Type ) >>>> QTreeWidgetItem ( QTreeWidgetItem * parent, int type = Type ) >>>> >>>> The first one is used in the @rootNode object creation and the second >>>> one is the one which produces this message. >>>> >>>> Can anybody help me? >>>> >>>> Thanks in advance >>>> >>>> Best regards >>>> >>>> >>>> Miquel >>>> >>> It seems that you need to specify also the optional parameter. If you >>> substitute the line >>> item = Qt::TreeWidgetItem.new(@rootItem) >>> with >>> item = Qt::TreeWidgetItem.new(@rootItem, Qt::TreeWidgetItem::Type) >>> it should work (at least, it does on my system, with qt 4.2.3). >>> >>> I hope this helps >>> >>> Stefano >>> >> Hey, it is :-D !!!!!! but...Why isn't it necessary in the root node >> creation (the constructor have the same optional parameter)? >> >> Thanks >> >> >> Miquel >> > > Looking at the Korudum forum > (http://rubyforge.org/forum/forum.php?forum_id=723), it seems there are some > situations in which QtRuby fails to correctly resolve overloaded methods. In > this case, the constructor which takes a Qt::ListWidget is resolved > correctly, the other isn't. A similar situation occurred me using > Qt::MessageBox.question. Although the documentation says the buttons and > defaultButton parameters are optional, the method call failed in ruby unless > they were both specified. Another example is mentioned on this thread of the > Korundum forum: http://rubyforge.org/forum/message.php?msg_id=15576 > > Stefano > > > > > Ok, I have reported this issue to the KDE bindings list and Richard Dale is asking me some questions. If you are interested in final conclusions I'll post here :-D Thanks for all Best regards Miquel