赞 | 2 |
VIP | 0 |
好人卡 | 0 |
积分 | 5 |
经验 | 0 |
最后登录 | 2024-5-12 |
在线时间 | 86 小时 |
Lv2.观梦者
- 梦石
- 0
- 星屑
- 485
- 在线时间
- 86 小时
- 注册时间
- 2023-10-26
- 帖子
- 26
|
主MZ的,MV这块可能有出入,说下可能的原因。
Window的itemHeight()函数返回值可能给得太低了,而后drawItem()没有参考itemRect()返回的区域,画到了超出范围的位置。
于是光标只有1/2单个角色绘制区域的高度。如果是这样,直接修改itemHeight()即可。
不确定的是,如果只是itemHeight()给太小了,按照规范绘制实际会出现下面的角色信息叠在上面的角色信息上一部分的情况,这里却没有。
怀疑是也没有用drawItem(),直接重写了refresh,然后给四个角色手动按想象中的绘制区域进行了绘制,如果这个情况那就还是用drawItem()的方法去绘制即可。
要修改行高,重写itemHeight(),要修改列数,重写maxCol()。在drawItem(index)中使用itemRect(index)获取提供好的绘制区域,在区域内进行绘制。如果需要带内边距以更美观,使用lineRect(index)获取减去内边距之后的绘制区域。
|
|