-1

有没有办法将行号附加到 QListView 小部件,我知道你可以使用 setText() 添加文本,但它只有 str 而不是整数,所以我不能只增加一个整数并打印它。有任何想法吗?

这是代码:

with open("../content/vulcan.hosts") as new_file:
            reader = csv.reader(new_file, delimiter='|')
            for line in reader:
                i = 1
                uname = line[0]
                iface = line[1]
                macad = line[2]
                ipad  = line[3]
                type  = line[4]
                item = QtGui.QTreeWidgetItem()
                item.setFlags(QtCore.Qt.ItemIsUserCheckable)
                item.setCheckState(0, QtCore.Qt.Unchecked)
                item.setText(0, str(i))
                i = 1 + 1
                item.setText(1, uname)
                item.setText(2, iface)
                item.setText(3, macad)
                item.setText(4, ipad)
                item.setText(5, type)
                item.setText(6, str("asdasd"))
                item.setText(7, str("asdasda"))
                item.setText(8, str("asdasd"))
                self.runTree.addTopLevelItem(item)
4

1 回答 1

1

如果您想将它添加到项目的文本中,您可以简单地使用 Qt 的一种方法将整数转换为字符串。例如,有一number(...)组静态方法。

int a = 63;
QString s = QString.number(a); // s == "63"

但是,我不确定您正在使用哪种数据,但也许 QListView 不是您的最佳选择。你考虑过 QTableView/Widget 吗?在那里你可以添加一些不错的行号。

于 2013-01-13T08:01:06.217 回答