QListView显示出字符串不对齐

这是因为 字体的 空格 和其它 可见字符 宽度是不同的。

比如a,b,c这些字符的宽度是9个像素,但是 空格  " ” 的宽度可能只有8个像素。其它字符也存在这样的问题。用下面的代码就能看出像素多少了。

    QFontMetrics metrics(mListView->font());
    qDebug()<<metrics.width("h     ");
    qDebug()<<metrics.width("hah   ");

但是qtcreator控制台打印出来看,却是完全对齐的。

所以要特别注意这个坑。

有两种方法解决:

1,搞个委托类,就可以自己控制文本的绘制过程了

2. 不用qlistview,用qtreeview

这里,选择第二种了,利用多列的性质,就能让控件帮我们对齐了。

猜你喜欢

转载自blog.csdn.net/kangkanglhb88008/article/details/128151857