Python QTableView |如何在不按住 Ctrl 的情况下通过单击选择多行?
Posted
技术标签:
【中文标题】Python QTableView |如何在不按住 Ctrl 的情况下通过单击选择多行?【英文标题】:Python QTableView | How to select multiple rows by click without holding down Ctrl? 【发布时间】:2019-01-15 06:33:16 【问题描述】:我正在设计一个带有 QTableView 的 GUI,在需要时必须选择多行。这意味着第一次单击将选择该行,第二次单击将取消选择该行。 所以我有两个具体问题:
-
如何将单元格选择转换为行选择?
如何在不按住Ctrl的情况下转换完成多选?
【问题讨论】:
【参考方案1】:要选择行而不是项目,您必须在QAbstractItemView::SelectRows
中将它们设置为选择行为,如果您希望在不按任何键的情况下选择项目,则必须在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_())
【讨论】:
以上是关于Python QTableView |如何在不按住 Ctrl 的情况下通过单击选择多行?的主要内容,如果未能解决你的问题,请参考以下文章
PyQt4 - QTableView - 如何循环 QTableView