我正在尝试从PyQT中的QTableView读取数据。我已经阅读了几篇帖子,但我不能成功。
我正在使用这个功能,在其中,我评论了所有失败的不同方式:
def test(self):
mymodel=self.resultTableView.model()
rows=mymodel.rowCount(self)
columns=mymodel.columnCount(self)
print rows
print columns
#1st way
# index = self.resultTableView.indexAt(QPoint(1,1))
# x=self.resultTableView.model().data(index,QAbstractItemModel)
#2nd way
# myindex=self.resultTableView.model().index(1, 1, QModelIndex())
# x=self.resultTableView.model().data(myindex,self)
#3rd way
x=self.resultTableView.model().data(self.resultTableView.model().index(0,2)).toString()
index = self.resultTableView.currentIndex() ;
x = index.sibling(index.row(),0)
print type(x)
print (x)
第一个和第二个打印了类型=无和无项目 和第三印刷类型
class'PyQt4.QtCore.QModelIndex'
PyQt4.QtCore.QModelIndex对象位于0x000000001060E4C0
如果我在初始化x时尝试使用.toString()
函数,我会崩溃,如果我尝试str(),我会得到:
输入'str'
PyQt4.QtCore.QModelIndex对象位于0x000000001060E4C0
有没有标准的方法?当我尝试使用
时,我也会崩溃model=self.resultTableView.model()
答案 0 :(得分:1)
我正在使用PyQt5.5.1和Python 3.4,并且我已经被类似的问题困惑了一段时间,因为我从stackoverflow或某个地方获得的大多数答案实际上要么没有解决问题,要么基于PyQt的旧版本。
以下是我的所作所为:
希望有所帮助!