QTreeView如何sh去掉复选框 pyqt pyside

1、设置复选框:

def set_configList_model_Checkable(treeView_mode):
    def SetItem(itemi):
         if itemi.hasChildren():
            for i in range(itemi.rowCount()):
                    childitem = itemi.child(i)
                    SetItem(childitem)
                    #设置父节点Checkable
                    itemi.setCheckable(state)
                    itemi.setCheckState(Qt.Checked)
         else:
                    #设置无子节点Checkable
                    itemi.setCheckable(state)
                    itemi.setCheckState(Qt.Checked)
    for i in range(treeView_model.rowCount()):
            SetItem(treeView_model.item(i))


2、需要动态显示隐藏复选框


def SetItem(itemi):
    #给checkStateRole设置一个空值,就可以取消复选框
    itemi.setData(None, Qt.CheckStateRole)
    if itemi.hasChildren():
        for i in range(itemi.rowCount()):
            SetItem(itemi.child(i))
for i in range(treeView_model.rowCount()):
    SetItem(treeView_model.item(i))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在PySide6的QTreeView中添加复选框,需要使用QStandardItemModel和QStandardItem类来创建模型和项。然后,将复选框添加到项中并将项添加到模型中。 以下是一个示例代码,展示如何在QTreeView中添加复选框: ```python from PySide6.QtCore import Qt from PySide6.QtGui import QStandardItemModel, QStandardItem from PySide6.QtWidgets import QApplication, QMainWindow, QTreeView class MainWindow(QMainWindow): def __init__(self): super().__init__() # Create the model and set column headers model = QStandardItemModel() model.setHorizontalHeaderLabels(['Name', 'Checked']) # Create some items with checkboxes item1 = QStandardItem('Item 1') item1.setCheckable(True) item2 = QStandardItem('Item 2') item2.setCheckable(True) # Add the items to the model model.appendRow([item1, QStandardItem()]) model.appendRow([item2, QStandardItem()]) # Create the tree view and set the model tree_view = QTreeView() tree_view.setModel(model) # Set the checkbox column to be editable tree_view.setItemDelegateForColumn(1, tree_view.itemDelegateForColumn(0)) # Add the tree view to the main window self.setCentralWidget(tree_view) if __name__ == '__main__': app = QApplication([]) window = MainWindow() window.show() app.exec() ``` 在这个例子中,我们创建了一个QStandardItemModel,然后创建两个带有复选框的QStandardItem。我们将这些项添加到模型中,并将模型设置为QTreeView的模型。最后,我们使用setItemDelegateForColumn方法将复选框列设置为可编辑的,并将QTreeView添加到主窗口中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值