我正在使用 qtruby 开发 GUI。我有一个用 ListWidgetItems 填充的 ListWidget。到目前为止,这些仅包含我想要显示的文本,并且一切正常。我希望这些项目还包含一些隐藏数据,以便在单击它们时使用。我使用 ListWidgetItem.setData() 来设置数据,当它被点击时我可以从中获取数据。但是,一旦我添加了数据,现在显示的文本就会向右移动大约 4 个空格。当我点击它时,文本周围会出现一个小虚线框,但不会出现添加的空间。看起来它是一个图标的空间,但我没有设置任何图标,我不想要一个。如何摆脱这个额外的空间,以便包含数据的项目与所有内容对齐?
代码非常简单:
item = Qt::ListWidgetItem.new( @grain_strings[index] )
item.setFont( @font )
# TODO this is causing the text to be indented, removing it removes the indent
item.setData( 1, Qt::Variant.from_value( grain.type ) )
@item_list.insertItem( @end_of_grains+1, item )