#ruby #qt
#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
API через rbqtapi
, у него есть конструктор, который принимает один Qt::Widget
аргумент. Что не так с этим кодом?
Ответ №1:
layout
имеет тип VBoxLayout
, который не является базовым классом QWidget
и, следовательно, не может использоваться там, где ожидается аргумент типа QWidget
. Исходя из моего опыта работы с Qt на C и Python, я бы сказал, что вам нужно использовать:
splitter = Qt::Splitter.new(wnd)
layout.addWidget(splitter)
Комментарии:
1. Хм .. Кажется, сегодня пятница :). Большое спасибо!