[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Re: Qt4 not supported?

lolveley

5/20/2009 5:41:00 PM

hello,

thank you for your answer, ken.
I still have an error : here is my program :

require ('Qt')

class Fen_princ < Qt::MainWindow

def initialize
zone_centrale=Qt::Widget.new
nom=Qt::LineEdit.new
layout=Qt::FormLayout.new
layout.addRow("Votre nom :",nom)
zone_centrale.setLayout(layout)
setCentralWidget(zone_centrale)
<---- line 11

end

end



app=Qt::Application.new(ARGV)
fenetre=Fen_princ.new() <-----
line 19
fenetre.show
app.exec


and here is the error :

C:/Users/lolveley/Documents/Visual Studio
2008/Projects/test_qt_central_widget/test_qt_central_widget/rubyfile.rb:11:in
`method_missing': Instance is not initialized, cannot call
setCentralWidget (ArgumentError)
from C:/Users/lolveley/Documents/Visual Studio
2008/Projects/test_qt_central_widget/test_qt_central_widget/rubyfile.rb:11:in
`initialize'
from
c:/ruby/lib/ruby/gems/1.8/gems/qtruby4-1.4.10-mswin32/lib/Qt/qtruby4.rb:2398:in
`call'
from
c:/ruby/lib/ruby/gems/1.8/gems/qtruby4-1.4.10-mswin32/lib/Qt/qtruby4.rb:2398:in
`try_initialize'
from
c:/ruby/lib/ruby/gems/1.8/gems/qtruby4-1.4.10-mswin32/lib/Qt/qtruby4.rb:2397:in
`catch'
from
c:/ruby/lib/ruby/gems/1.8/gems/qtruby4-1.4.10-mswin32/lib/Qt/qtruby4.rb:2397:in
`try_initialize'
from C:/Users/lolveley/Documents/Visual Studio
2008/Projects/test_qt_central_widget/test_qt_central_widget/rubyfile.rb:19:in
`new'
from C:/Users/lolveley/Documents/Visual Studio
2008/Projects/test_qt_central_widget/test_qt_central_widget/rubyfile.rb:19

can you help me?

lolveley.








___________________________________________________________________________
Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son interface révolutionnaire.
http://fr.mail...


2 Answers

Stefano Crocco

5/20/2009 5:54:00 PM

0

On Wednesday 20 May 2009, lolveley wrote:
> |hello,
> |
> |thank you for your answer, ken.
> |I still have an error : here is my program :
> |
> | require ('Qt')
> |
> | class Fen_princ < Qt::MainWindow
> |
> | def initialize
> | zone_centrale=Qt::Widget.new
> | nom=Qt::LineEdit.new
> | layout=Qt::FormLayout.new
> | layout.addRow("Votre nom :",nom)
> | zone_centrale.setLayout(layout)
> | setCentralWidget(zone_centrale)
> | <---- line 11
> |
> | end
> |
> | end
> |
> |
> |
> | app=Qt::Application.new(ARGV)
> | fenetre=Fen_princ.new() <-----
> | line 19
> | fenetre.show
> | app.exec
> |
> |
> |and here is the error :
> |
> | C:/Users/lolveley/Documents/Visual Studio
> |
> | 2008/Projects/test_qt_central_widget/test_qt_central_widget/rubyfile.rb:1
> |1:in `method_missing': Instance is not initialized, cannot call

You forgot to call the superclass's initialize method. Usually, when
subclassing Qt::Object or Qt::Widget, it's better to put a call to super as
first line of the initialize method (it's not required, as long as you don't
call any method of the base class before doing so, but it helps avoiding to
forget it).

I hope this helps

Stefano

lolveley

5/20/2009 10:38:00 PM

0

Stefano Crocco a écrit :
> On Wednesday 20 May 2009, lolveley wrote:
>
>> |hello,
>> |
>> |thank you for your answer, ken.
>> |I still have an error : here is my program :
>> |
>> | require ('Qt')
>> |
>> | class Fen_princ < Qt::MainWindow
>> |
>> | def initialize
>> | zone_centrale=Qt::Widget.new
>> | nom=Qt::LineEdit.new
>> | layout=Qt::FormLayout.new
>> | layout.addRow("Votre nom :",nom)
>> | zone_centrale.setLayout(layout)
>> | setCentralWidget(zone_centrale)
>> | <---- line 11
>> |
>> | end
>> |
>> | end
>> |
>> |
>> |
>> | app=Qt::Application.new(ARGV)
>> | fenetre=Fen_princ.new() <-----
>> | line 19
>> | fenetre.show
>> | app.exec
>> |
>> |
>> |and here is the error :
>> |
>> | C:/Users/lolveley/Documents/Visual Studio
>> |
>> | 2008/Projects/test_qt_central_widget/test_qt_central_widget/rubyfile.rb:1
>> |1:in `method_missing': Instance is not initialized, cannot call
>>
>
> You forgot to call the superclass's initialize method. Usually, when
> subclassing Qt::Object or Qt::Widget, it's better to put a call to super as
> first line of the initialize method (it's not required, as long as you don't
> call any method of the base class before doing so, but it helps avoiding to
> forget it).
>
> I hope this helps
>
> Stefano
>
>
>
thank you stefano, it is ok now.

olivier.





___________________________________________________________________________
Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son interface révolutionnaire.
http://fr.mail...