我有以下测试代码:
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
参数。这段代码出了什么问题?
答案 0 :(得分:2)
layout
的类型为VBoxLayout
,它是 no QWidget
的基类,因此无法在QWidget
类型的参数中使用是期待。根据我在C ++和Python中使用Qt的经验猜测,我要说你必须使用:
splitter = Qt::Splitter.new(wnd)
layout.addWidget(splitter)