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

时间:2019-03-07 14:53:58

标签: python python-3.x pyqt pyqt5 qlistwidget

我有以下代码:

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)

显示以下内容: enter image description here

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

现在,我在打印语句后添加以下行:self.file_list.addItem(itemName)

在Qt中,这基本上是将项目添加到列表中。 这是它在列表中的外观的屏幕截图: enter image description here

如您所见,大小和日期不对齐/不在同一位置开始。

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

谢谢!

1 个答案:

答案 0 :(得分:1)

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