QListview,QListWidget实现图片/ICON显示在文字右边,图片根据按下状态显示不同样式

24 篇文章 0 订阅
1 篇文章 0 订阅

在这里插入图片描述

QListview,QListWidget默认实现是图片Icon显示在文字左边

但是在很多菜单中,我们需要将图片放置左边,然而又没有美工去做图片(做了图片就可以直接按钮贴图),就需要我们手工去实现这种方式,但Listview要自定义位置,需要去该源码并且很麻烦。

实现图片显示在文本右边

在这里插入图片描述

首先点开 ui文件,点Item属性按钮

在这里插入图片描述

找到Icon部分,手动添加自己的资源

在这里插入图片描述

最后找到文本部分,显示设置成从右往左

在这里插入图片描述

这样做完大家会发现,还是图片在文字左边,并没有达到相要的效果。
这时我们加入一行代码即可
ui->listWidget->setLayoutDirection(Qt::RightToLeft);

这样做在多列表时会比较麻烦 ,还有第二种方法用代码实现

首先需要在Item中加入数据,然后获取Listview的行数,进行遍历然后设置QListWidgetItem的setTextAlignment()即可, 加Icon直接调用Item seticon这种比较麻烦的在于设置选中后的样式

纯属自己搞着玩,觉得不错的点个赞把~

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Qt中,可以使用QListWidget显示图片。可以按照以下步骤来实现: 1. 创建一个QListWidget对象,用于显示图片列表。 2. 设置QListWidget显示模式为IconMode,以便以缩略图的形式显示图片。 3. 设置缩略图的大小,可以使用setIconSize函数进行设置。 4. 设置缩略图之间的间距,可以使用setSpacing函数进行设置。 5. 设置QListWidget的布局调整模式为Adjust,以便适应布局的调整。 6. 设置QListWidget的移动模式为Static,以禁止移动列表项。 7. 使用QListWidgetItem对象来添加图片项,可以重复以下步骤: a. 创建一个QListWidgetItem对象。 b. 使用setIcon函数设置图片图标,可以使用QIcon来加载图片。 c. 使用setText函数设置图片项的文本。 d. 使用setSizeHint函数设置图片项的大小。 e. 使用addItem函数将图片添加到QListWidget中。 8. 最后,调用show函数显示QListWidget。 以下是一个示例代码,演示了如何使用QListWidget显示图片: ``` QListWidget *imageList = new QListWidget; imageList->setViewMode(QListWidget::IconMode); imageList->setIconSize(QSize(100, 100)); imageList->setSpacing(10); imageList->setResizeMode(QListView::Adjust); imageList->setMovement(QListView::Static); QListWidgetItem *imageItem1 = new QListWidgetItem; imageItem1->setIcon(QIcon("image1.png")); imageItem1->setText("Image 1"); imageItem1->setSizeHint(QSize(120, 100)); imageList->addItem(imageItem1); QListWidgetItem *imageItem2 = new QListWidgetItem; imageItem2->setIcon(QIcon("image2.png")); imageItem2->setText("Image 2"); imageItem2->setSizeHint(QSize(120, 100)); imageList->addItem(imageItem2); // 添加更多图片项... imageList->show(); ``` 请注意,你需要根据实际情况替换示例代码中的图片路径和文本信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [QT 使用 List Widget 展示自己的处理好的结果图片](https://blog.csdn.net/weixin_45824067/article/details/131128303)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [QT使用QListWidget实现图片列表](https://blog.csdn.net/sinat_30034481/article/details/120203579)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值