判断QTableView单元格内容长度超出显示区域

王桑的一天 2015-06-30 07:14:04
QTableView列宽是固定的,并且设置了不可换行。
如果单元格内容超出显示范围,最后面会显示省略号。
如何判断这种单元格?有现成的方法吗?
...全文
1517 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
QQ_278397935 2017-12-12
  • 打赏
  • 举报
回复
楼主 头像 满分。 灌水一顶~
王桑的一天 2015-07-20
  • 打赏
  • 举报
回复
引用 4 楼 kaida1234 的回复:
[quote=引用 3 楼 wn0112 的回复:] [quote=引用 2 楼 kaida1234 的回复:] 自己定义一个类MyTableView,继承自QTableView,在MyTableView里写一个函数IsBeyond(),函数里自己定义内容超过几个字符时就显示为省略号。最后将原来工程中的QTableView字段全部改为MyTableView即可。 多用继承封装多态的思路。
但是字符宽度都不同,比如i, w, l,靠“超过几个字符”来判断恐怕不准确[/quote]你可以自己决定咯,大概七个,还是八个,给一个具体数字作为判断,新类写成之后,在需要判断的地方就写if(IsBeyond())或if(!IsBeyond())
BOOL IsBeyond(){...}
[/quote] 超过长度会自动显示为省略号的,不需要我处理。我想知道哪个Cell是 “未完全显示” 的状态,仅靠固定长度判断不太谱……
王桑的一天 2015-07-17
  • 打赏
  • 举报
回复
没人会呀?
水军总督 2015-07-17
  • 打赏
  • 举报
回复
引用 3 楼 wn0112 的回复:
[quote=引用 2 楼 kaida1234 的回复:] 自己定义一个类MyTableView,继承自QTableView,在MyTableView里写一个函数IsBeyond(),函数里自己定义内容超过几个字符时就显示为省略号。最后将原来工程中的QTableView字段全部改为MyTableView即可。 多用继承封装多态的思路。
但是字符宽度都不同,比如i, w, l,靠“超过几个字符”来判断恐怕不准确[/quote]你可以自己决定咯,大概七个,还是八个,给一个具体数字作为判断,新类写成之后,在需要判断的地方就写if(IsBeyond())或if(!IsBeyond())
BOOL IsBeyond(){...}
王桑的一天 2015-07-17
  • 打赏
  • 举报
回复
引用 2 楼 kaida1234 的回复:
自己定义一个类MyTableView,继承自QTableView,在MyTableView里写一个函数IsBeyond(),函数里自己定义内容超过几个字符时就显示为省略号。最后将原来工程中的QTableView字段全部改为MyTableView即可。 多用继承封装多态的思路。
但是字符宽度都不同,比如i, w, l,靠“超过几个字符”来判断恐怕不准确
水军总督 2015-07-17
  • 打赏
  • 举报
回复
自己定义一个类MyTableView,继承自QTableView,在MyTableView里写一个函数IsBeyond(),函数里自己定义内容超过几个字符时就显示为省略号。最后将原来工程中的QTableView字段全部改为MyTableView即可。 多用继承封装多态的思路。

16,216

社区成员

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

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