为什么这个Ruby + Qt代码不起作用?

时间:2011-10-07 18:56:14

标签: ruby qt

我有以下测试代码:

require 'Qt'
app = Qt::Application.new( ARGV )
wnd = Qt::Widget.new
layout = Qt::VBoxLayout.new( wnd )
splitter = Qt::Splitter.new( layout )

在最后一行失败并出现奇怪的错误:

'initialize': unresolved constructor call Qt::Splitter (ArgumentError)

我已经通过Qt::Splitter检查了rbqtapi API,它的构造函数带有一个Qt::Widget参数。这段代码出了什么问题?

1 个答案:

答案 0 :(得分:2)

layout的类型为VBoxLayout,它是 no QWidget的基类,因此无法在QWidget类型的参数中使用是期待。根据我在C ++和Python中使用Qt的经验猜测,我要说你必须使用:

splitter = Qt::Splitter.new(wnd)
layout.addWidget(splitter)