Haw*_*n21 7 python pyqt qtreeview qstandarditemmodel qstandarditem
我刚刚从wxPython切换到PyQT,我在QTreeview上遇到了一些麻烦.我有一个QTreeview,它将显示分类为可扩展的部分的数据,但是这个TreeView中的数据不应该是可编辑的,但我需要能够让用户选择数据(双击将执行另一个方法).我不确定如何使它只读,但也可以选择.我使用QStandardItemModel和QStandardItem来保存数据.
任何帮助将非常感激.
thr*_*les 14
您可以在创建时将这些项设置为不可编辑 QSandardItem
item = QStandardItem('my_item_text')
item.setEditable(False)
Run Code Online (Sandbox Code Playgroud)
您可以通过调用禁用整个树视图的编辑
my_treeview.setEditTriggers(QAbstractItemView.NoEditTriggers)
Run Code Online (Sandbox Code Playgroud)
默认情况下,树形视图应允许您选择项目,但如果你想改变默认的行为,你会想看看setSelectionMode()
和setSelectionBehavior()
树视图的方法(以及它们对于QAbstractItemView
其QTreeView
来自继承).这些方法的c ++文档可以在这里找到,我通常在PyQt文档中使用它,因为它通常更完整,并且翻译成Python代码并不太难.只需更换的所有实例::
有.
)