Python QTableView |如何在不按住 Ctrl 的情况下单击 select 多行?
Python QTableView | How to select multiple rows by click without holding down Ctrl?
我正在设计一个带有 QTableView 的 GUI,其中在需要时必须 select 多行。这意味着第一次点击将 select 该行,第二次点击将取消 select 该行。
所以我有两个具体问题:
- 如何将单元格 selection 转换为行 selection?
- 如何在不按住 Ctrl 的情况下转换完成多个 select 离子?
到 select 行而不是项目,您必须将它们设置为 QAbstractItemView::SelectRows
中的 selection 行为,并且如果您想要 selected 项目而不按任何您必须在 QAbstractItemView::MultiSelection
:
中设置 selection 模式
import sys
from PyQt5 import QtGui, QtWidgets
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
model = QtGui.QStandardItemModel(10, 5)
w = QtWidgets.QTableView()
w.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
w.setSelectionMode(QtWidgets.QAbstractItemView.MultiSelection)
w.setModel(model)
w.show()
sys.exit(app.exec_())
我正在设计一个带有 QTableView 的 GUI,其中在需要时必须 select 多行。这意味着第一次点击将 select 该行,第二次点击将取消 select 该行。 所以我有两个具体问题:
- 如何将单元格 selection 转换为行 selection?
- 如何在不按住 Ctrl 的情况下转换完成多个 select 离子?
到 select 行而不是项目,您必须将它们设置为 QAbstractItemView::SelectRows
中的 selection 行为,并且如果您想要 selected 项目而不按任何您必须在 QAbstractItemView::MultiSelection
:
import sys
from PyQt5 import QtGui, QtWidgets
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
model = QtGui.QStandardItemModel(10, 5)
w = QtWidgets.QTableView()
w.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
w.setSelectionMode(QtWidgets.QAbstractItemView.MultiSelection)
w.setModel(model)
w.show()
sys.exit(app.exec_())