QTableWidget可以通过setSelectionMode()和setSelectionBehavior()来设置选择的模式。
setSelectionBehavior()
此属性保存视图使用的选择行为。此属性保存选择是根据单个项目,行还是列进行的。
setSelectionMode()
此属性保存视图在哪种选择模式下运行。此属性控制用户是否可以选择一个或多个项目,并且在多个项目选择中控制选择是否必须是连续范围的项目。
/*设置选择一行*/
setSelectionMode(QAbstractItemView::SingleSelection);
setSelectionBehavior(QAbstractItemView::SelectRows);
/*设置选择一个*/
setSelectionMode(QAbstractItemView::SingleSelection);
setSelectionBehavior(QAbstractItemView::SelectItems);
诸如此类:
QAbstractItemView::SingleSelection | 当用户选择一个项目时,任何已选择的项目都将变为未选择状态,并且用户无法通过单击来取消选择该项目。 |
QAbstractItemView::ContiguousSelection | 当用户以常规方式选择一个项目时,将清除选择并选择新的项目。但是,如果用户在单击某个项目时按下Shift键,则根据单击项目的状态,选择或取消选择当前项目和单击项目之间的所有项目。 |
QAbstractItemView::ExtendedSelection | 当用户以常规方式选择一个项目时,将清除选择并选择新的项目。但是,如果用户在单击某个项目时按下Ctrl键,则被单击的项目将被切换,而其他所有项目则保持不变。如果用户在单击某个项目时按下Shift键,则根据该单击项目的状态,选择或取消选择当前项目和单击项目之间的所有项目。可以通过将鼠标拖动到多个项目上来选择多个项目。 |
QAbstractItemView::MultiSelection | 当用户以通常的方式选择一个项目时,该项目的选择状态将被切换,而其他项目将被保留。可以通过在它们上方拖动鼠标来切换多个项目。 |
QAbstractItemView::NoSelection | 无法选择项目。 |
不变 | 值 | 描述 |
---|---|---|
QAbstractItemView::SelectItems | 0 | 选择单个项目。 |
QAbstractItemView::SelectRows | 1 | 仅选择行。 |
QAbstractItemView::SelectColumns | 2 | 仅选择列。 |