4

我有一个带有 QStringModel 的列表视图,我想以编程方式将其更改为选择。我有一个 python 索引列表作为整数 [1,3,4],我想选择它。如何选择这些指数?列表视图是否具有允许我选择一行的功能?

4

2 回答 2

3

终于自己想通了,这就是答案,假设你有一个列表视图“myListview”,一个对应的模型“myQStringListModel”至少有6个元素(0-5)和一个索引数组[1,3,5]:

theIndices = [1,3,5]
theQIndexObjects = [self.myQStringListModel.createIndex(rowIndex, 0, self.coverages_lm) for rowIndex in theIndices]
for Qindex in theQIndexObjects:
    myListview.selectionModel().select(Qindex, QtGui.QItemSelectionModel.Select)

IMO 不是很直接,您必须使用模型来创建索引对象,但我想这是有道理的。

于 2013-04-04T23:19:02.633 回答
-2

我猜你使用的是 QStringListModel 而不是 QStringModel,假设你使用的是 QListView。这里是代码

    model = new QStringListModel(this);

listView = new QListView;
listView->setModel(model);
listView->setSelectionMode(QAbstractItemView::MultiSelection);//you can select many selections;
于 2013-04-03T03:40:35.880 回答