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 )