PyQt5 QTableView:如何在保持默认样式/颜色的同时禁用用户交互/选择?

问题描述 投票:0回答:2

我需要能够以编程方式选择TableView的某些行,从而向用户显示所选行。当然,用户不应该通过单击此处和那里来更改所选行。

目前,我发现禁用用户交互的唯一方法是:

self.table_view.setEnabled(False)

虽然这解决了用户的选择问题,但它也改变了表格的方面,使其全部变为灰色:

enter image description here

如何恢复原始样式,所选行显示为蓝色? enter image description here

python pyqt pyqt5
2个回答
0
投票

打开QDesigner并加载.ui文件。单击您的QTableView,在Property Editor(右侧面板)中向下滚动到紫色区域。在那里你会看到editTriggers,扩展它。检查第一个说NoEditTriggers的人。

这将禁止用户编辑表格中的单元格。如果我的说明不够清楚我可以提供图片,请告诉我。


0
投票

如果我正确理解您的问题,您必须使用属性:

  • 的setSelectionMode()
  • setSelectionBehavior() table_view.setSelectionMode(QtWidgets.QAbstractItemView.NoSelection) table_view.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
© www.soinside.com 2019 - 2024. All rights reserved.