我将 QtRuby 与 Qt 4.8.6 一起使用,并尝试创建一个树视图,其中每个项目在树控件和名称之间都有一个自定义图标。最终结果应该是这样的:
我正在为图标应该去的地方分配空间,但我没有看到任何图标。我该怎么做才能让他们出现?
这是我的代码(稍微简化以删除无数据边缘情况):
class MyModel < Qt::AbstractItemModel
# ...
def data(index, role)
case role
when Qt::DisplayRole
case index.column
when 0; Qt::Variant.new(index.internalPointer.displayName)
when 1; Qt::Variant.new(index.internalPointer.displayType)
end
when Qt::DecorationRole
if index.column==0 then
# Just testing to show a static icon for all items
Qt::Pixmap.new(':/resources/images/Objects-Scene-Normal.png')
end
end
end
end
@mytreeview.model = MyModel.new
如果您想检查 Qt Designer.ui
文件(以防树视图需要有我没有的属性集),可以在此处查看。