首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >添加数据后,Qtruby ListWidgetItem有空图标

添加数据后,Qtruby ListWidgetItem有空图标
EN

Stack Overflow用户
提问于 2015-02-05 01:13:18
回答 1查看 39关注 0票数 2

我正在使用qtruby开发一个GUI。我有一个ListWidget,我正在用ListWidgetItems填充它。到目前为止,这些文件已经包含了我想要显示的文本,一切都很好。我希望这些项目还保存一些隐藏的数据时,他们被点击。我使用ListWidgetItem.setData()来设置数据,当点击数据时,我可以从中获取数据。但是,一旦我添加了数据,所显示的文本现在就移到了右边,大约有4个空格。当我点击它时,文字周围会出现一个小的虚线框,而不是添加的空格。它看起来像是一个图标的空间,但我没有设置任何图标,我不想要一个。我如何摆脱这个额外的空间,以便包含数据的项与所有内容排列在一起?

代码非常直截了当:

代码语言:javascript
复制
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 )
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-05 01:21:09

setData的第一个参数是角色号,出于某种原因,您选择将其设置为1。文档表示:“要以图标形式呈现的数据(QColor、QIcon或QPixmap)”。因此,您告诉Qt显示一个图标,但您没有给它一个有效的图标对象。

尝试将角色设置为Qt::UserRole,这是“可用于特定应用程序的第一个角色”。我不知道如何从Ruby中访问这个常量。如果qtruby没有提供它,我想您可以使用0x100。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28334594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档