Python:QTableWidget 滚动到项目()

标签 python pyqt4 qtablewidget

我刚刚开始使用 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 新手,所以好的解释或建议对我来说意义重大。

最佳答案

所以,这一行:

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 中,返回 void 的方法将返回 None,这与将 NULL 指针传递到scrollToItem 方法中相同。

关于Python:QTableWidget 滚动到项目(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12267993/

相关文章:

python - 如何在 PyQt 中设置 QHeaderView 的标签?

Qt如何检查QtableWidget中的状态复选框

qt - 如何更改 QTableWidget 中空白单元格的背景颜色

python - 使用 PyQt4 扩展 QML

python - 如何使用 ExtendedComboBox 在 ui 文件中工作?

python - 访问类(class)外的 Sprite /类(class)位置

python - 为什么我必须创建一个空字符串来替换字符串中的所有字符?

python - 如何在 PyQt4 GUI 上显示希腊字符?

python - urllib.parse vs urlparse : How do I get python 2. 7 识别urllib?

python - BeautifulSoup 附加