Python QTableView |如何在不按住Ctrl的情况下通过单击选择多行?

时间:2019-01-15 06:33:16

标签: python pyqt5 qtableview pyside2

我正在设计一个带有QTableView的GUI,其中需要在需要时选择多行。这意味着第一次单击将选择该行,第二次单击将取消选择该行。 因此,我有两个具体问题:

  1. 如何将单元格选择转换为行选择?
  2. 如何在不按住Ctrl的情况下转换完成多个选择?

1 个答案:

答案 0 :(得分: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_())