不是从QObject派生的对象在QtRuby中没有被下传到他们的动态类型:
require "Qt4"
xml = Qt::DomDocument.new "foo.xml"
xml.setContent(Qt::File.new "foo.xml")
puts xml.documentElement.firstChild.class # Output: Qt::DomNode
QtRuby只知道对象的C ++静态类型(DomNode),但不知道对象的动态类型(QDomElement,QDomComment ......):无法在动态类型上调用方法。
puts xml.documentElement.firstChild.nodeType # Output: 1 (ElementNode)
puts xml.documentElement.firstChild.tagName # method missing for Qt::DomNode
为了调用DomElement和朋友的方法,有没有向下转向DomNode? p>