打印字符串与添加到列表不同,为什么?

Printing string is different from adding to list, why?

我有以下代码:

if len(itemName) < 31:
                while len(itemName) < 31:
                    itemName = itemName+"-"
            itemName = itemName + self.convert_size(info.st_size)
            while len(itemName) < 48:
                itemName = itemName+"-"
            itemName = itemName + datetime.fromtimestamp(info.st_ctime).strftime("%d/%m/%Y %H:%M")
            print(itemName)

打印如下:

这正是我想要的,所有文件的所有尺寸和日期都从相同的位置开始(对齐)。

现在我在打印语句后添加这一行:self.file_list.addItem(itemName)

在 Qt 中基本上就是向列表中添加一个项目。 这是它在列表中的外观的屏幕截图:

如您所见,尺寸和日期不在同一位置 aligned/starting。

我的问题是为什么以及如何解决这个问题? 它打印出来很好,但是当添加到 QListWidget 时,它看起来不一样了。

提前致谢!

这是 Qt 使用的字体问题,它使用的字体不是等宽字体,即:不同的字符有不同的大小,要使用显示所有字符的等宽字体相同大小,将 Qt 字体更改为 consolas(最好)或 Courier New 或任何其他等宽字体。