[紧急求助]QListWidget中各项文字太长选中时如何显示所有的文字内容?

我还在迷路 2014-10-15 04:43:19
RT!
在网上搜罗了半天了,没找到相关的资料,不知道是不是因为我太笨了查询资料的方式不对...
最终还是选择来这里找大神求救吧~~~

问题描述:
创建了一个QListWidget窗口,在添加items时,是包含图标和文字描述的
问题来了,如果我的某个item的文字部分太长的话,在窗口显示的时候显示前面的内容,后面无法显示的以省略号代替了
但当我用鼠标选中的时候,这一部分的文字依然不能全部显示出来,如图所示:

左边是listmode下的文件名称,右边是iconmode下的样子

每个item我用都将其大小设置为了80,60
 
QListWidgetItem *lst = new QListWidgetItem(QIcon("images/floder.png"),
l.name,
ui->listWidget);
lst->setSizeHint(QSize(80,60))


我希望的是,在iconmode的模式下,如果不选item的时候,其过长的部分显示为省略号,当我选中该item的时候,能把该item的所有文字以换行的方式显示出来,类似Windows中文件名字太长时显示的效果那样。

刚入Qt的门很短,希望帮忙解答的大神讲的稍微浅显些,非常感谢了!
...全文
2091 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Always0nTheWay 2017-05-08
  • 打赏
  • 举报
回复
朋友,这个问题解决了么
chenlang_haoren 2014-10-23
  • 打赏
  • 举报
回复
朋友,这个问题你解决了吗?
我还在迷路 2014-10-16
  • 打赏
  • 举报
回复
引用 5 楼 WeiXiao_365 的回复:
用QListWidget的这个信号 void itemClicked(QListWidgetItem * item) 来实现呢?
试了以下,点击事件里面改变item的大小,文字是横向边长,不会换行显示,而且还需要setSizeHint()进行设置,在设置后整个item的大小都变了,很不美观 文字点击全部显示的事件要么在点击触发进行设置,要么就是Qt提供方法 该如何下手呢。。头疼
我还在迷路 2014-10-16
  • 打赏
  • 举报
回复
引用 5 楼 WeiXiao_365 的回复:
用QListWidget的这个信号 void itemClicked(QListWidgetItem * item) 来实现呢?
点击的时候,那这个被选中的item的大小应该设置为多少呢? 当第二个item被选中的时候,第一个item的大小又该如何恢复回去呢?
WeiXiao_365 2014-10-16
  • 打赏
  • 举报
回复
用QListWidget的这个信号 void itemClicked(QListWidgetItem * item) 来实现呢?
我还在迷路 2014-10-16
  • 打赏
  • 举报
回复
一晚上过去了。。再给点帮助吧!~
我还在迷路 2014-10-15
  • 打赏
  • 举报
回复
引用 1 楼 sdu_hanson 的回复:
windows下也不能全显示 吧? 换种思路行不行,鼠标放上去,tooltip全显示
Windows下可以的哇。。。 setToolTip也考虑过,但没有点击显示直观,还要等个1秒才能显示
WeiXiao_365 2014-10-15
  • 打赏
  • 举报
回复
对呀,用楼上那种思路。具体方法就是使用setToolTip();
sdu_hanson 2014-10-15
  • 打赏
  • 举报
回复
windows下也不能全显示 吧? 换种思路行不行,鼠标放上去,tooltip全显示

21,494

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧