Qt4 not supported?

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.yahoo.com

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

···

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

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.