- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在 Pyqt4 中使用 ListView 来显示一些项目,每个项目前面都有一个复选框。而且,我想获取那些选中的项,但是 self.ui.listView.selectedIndexes() 的返回值为 None,我真的不知道该怎么做才能得到我想要的。
我的代码如下:
#coding=utf-8
from loadtsklist import *
from PyQt4.QtCore import *
from PyQt4.QtGui import *
import sys, os
class MyLoadTskList(QDialog):
def __init__(self):
QDialog.__init__(self)
self.initTaskList()
def initTaskList(self):
global connectserver
self.ui = Ui_Dialog()
self.ui.setupUi(self)
self.ui.btsure.clicked.connect(self.test)
tsklist = [u'北京',u'南京', u'海南', u'青岛', u'西安']
model = QStandardItemModel()
for task in tsklist:
print(task)
item = QStandardItem(QString(task))
check = Qt.Unchecked
item.setCheckState(check)
item.setCheckable(True)
model.appendRow(item)
self.ui.listView.setModel(model)
def test(self):
print len(self.ui.listView.selectedIndexes())
print "hello this is LoadTskList"
app = QApplication(sys.argv)
tsk = MyLoadTskList()
tsk.show()
app.exec_()
有人可以告诉我该怎么做吗?提前致谢!
最佳答案
首先,加载列表的代码可以更高效,如下所示:
model = QStandardItemModel(self)
self.ui.listView.setModel(model)
for task in tsklist:
item = QStandardItem(task)
item.setCheckable(True)
model.appendRow(item)
然后要获取选中的项目,您需要另一个循环,如下所示:
def test(self):
model = self.ui.listView.model()
for row in range(model.rowCount()):
item = model.item(row)
if item.checkState() == QtCore.Qt.Checked:
print('Row %d is checked' % row)
关于python - PYQT4, ListView : How to get selected rows using QStandardItemModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22958259/
我的问题是,在使用时 QStandarditemmodel::setData(const QModelIndex &index, const QVariant &value, int role) 似乎
我是 qt 的新手,我在 QTtableview 中使用 QStandardItemModel。 请建议, 如何更改行和列标题名称。目前它显示 1,2,3,4 如何让 QStandardItemMod
我有一个 QTableView ,填充了 QStandardItemModel . 我经常通过网络更新模型,模型也由用户直接通过 QTableView 更新。 . 现在我喜欢在用户更改一些数据时调用一
我喜欢制作我的 QStandardItemModel 来填充 qtreeview 中的项目将行追加到 View 中所有已定义项目的顶部。类似于 twitter View ,新项目优先。我在 QStan
为了在 QTableView 中显示一些数据,我使用一个函数来计算 QStandardItemModel 并将其发送回调用函数。 函数调用: QStandardItemModel MyModel =
QStandardItemModel::QStandardItemModel(QObject * parent = 0) Constructs a new item model with the g
标题没问题,但我只有三个空行。 永远不会调用 FileConfig::data 方法! 你知道为什么吗? model= new MyModel; model->setHeaderData(0, Qt:
我是 Qt 的初学者,我正在努力从 XML 文件填充 QStandardItemModel。 我尝试了以下操作,整个项目运行成功,但 QtableView 不显示数据。 这是我的main.cpp: v
我试过使用 Qt void QStandardItem::insertRow(int row, const QList &items)和 void QStandardItem::appendRow(c
我想做的是,我想制作一个带有可检查项目的 ListView 。我能够使用 QStandardItemModel 作为我的模型来做到这一点。现在我需要做的是添加一些需要自定义数据方法的功能。因此,正如我
我有一个包含 100,000 条数据记录的 QStandardItemModel,以及一个用于过滤和排序功能的 QSortFilterProxyModel。我想根据其中一列的值删除大量记录,比如 10
我有一个 QStandardItemModel,它显示在 q QTreeView 中。工作正常。 为了突出显示相关行,我想突出显示其中的一些行:因此我有一个 QStringList,其中包含要突出显示
如何将 BundleItem 类的项附加到 QListView 的 QStandardItem 模型?当附加它们时,我只想使用 BundleItem 的 Name 属性显示在 ListView 中。我
当分配在堆栈上的 QStandardItemModel 被销毁时,模型中的指针指向的对象会发生什么(例如 item/ item2 指针,如下例所示): QStandardItem* item = ne
有没有办法将 QStandardItemModel 复制到另一个 QStandardItemModel? 或者我必须遍历每个项目并将其附加到另一个模型? 最佳答案 一件元素只能由一个模型拥有。这就是为
目前,我想更新 QStandardItemModel 中的行项目,不会丢失相应 QTableView 中的排序顺序和行选择。 我测试了两种方法: 通过 clear() 清除模型并重新添加行会“破坏”包
我试图删除 QTableView 的所有选定索引, 现在我使用: foreach (const QModelIndex & idx, model->selectionModel()->selected
目前,我想更新 QStandardItemModel 中的行项目,不会丢失相应 QTableView 中的排序顺序和行选择。 我测试了两种方法: 通过 clear() 清除模型并重新添加行会“破坏”包
我正在创建一个应用程序,我需要使用另一个类(class)提供给我的列表来制作 list 。用户将选中他们想要的项目旁边的复选框,然后单击按钮。对于那些已检查的行,我想打印“您检查了号码 ___”。在相
我正在尝试使用 QTreeView 和 QStandardItemModel 在 PyQt4 中实现帐户结构(带有子帐户)。经过大量的试验和错误,我终于准备好了 TreeView 。现在,我希望当我单
我是一名优秀的程序员,十分优秀!