我刚刚开始使用python,所以我遇到了问题。我到处都找过了,我得到的结论是:我用QT-Designer做了一个简单的GUI。在填写完tableWidget之后,我想要的就是自动滚动到第10行,我就是这样成功的:
for i in range(0, self.rows):
...filling table...
self.ui.tableWidget.scrollToItem(self.ui.tableWidget.item(10, 3), QtGui.QAbstractItemView.PositionAtCenter)
self.ui.tableWidget.scrollToItem(self.ui.tableWidget.selectRow(10), QtGui.QAbstractItemView.PositionAtCenter)问题:如果没有第3行或第4行,这是行不通的。正如我所说,我是Python的新手,所以好的解释或建议对我来说意义重大。
发布于 2012-09-05 01:03:53
所以,这一行:
self.ui.tableWidget.scrollToItem(self.ui.tableWidget.item(10, 3), QtGui.QAbstractItemView.PositionAtCenter)将会起作用,因为您将得到一个项目作为执行self.ui.tableWidget.item(10,3)的结果。
self.ui.tableWidget.scrollToItem(self.ui.tableWidget.selectRow(10), QtGui.QAbstractItemView.PositionAtCenter)这行代码行不通--因为这里看起来您要做的就是选择接口中的行,该行的返回值为None (void
你必须做两次调用,第一次滚动到项目,然后选择行(或任何你想要的顺序,顺序无关紧要)
item = self.ui.tableWidget.item(10, 3)
self.ui.tableWidget.scrollToItem(item, QtGui.QAbstractItemView.PositionAtCenter)
self.ui.tableWidget.selectRow(10)在C++中,您会得到一个错误,但是在Python中,空返回的方法将返回None,这与将空指针传递到scrollToItem方法中相同。
https://stackoverflow.com/questions/12267993
复制相似问题