PyQT 如何给QCheckBox添加折叠选项

现在的代码如下

class Example(QWidget):

    def __init__(self, fname):
        self.fname=fname
        super().__init__()
        self.initUI()


        
        

    def initUI(self):
        
        self.sheets= list(fname.keys())     
        print(self.sheets)

        self.cb1 = QCheckBox("Hello", self)
        self.cb2 = QCheckBox("You", self)
        self.cb3 = QCheckBox("Are", self)
        self.cb4 = QCheckBox("My", self)
        self.cb5 = QCheckBox("Sunshine", self)
                                        

        self.resize(300,400)
        self.setWindowTitle('QCheckBox')

        formLayout = QFormLayout()
        groupBox = QGroupBox("This Is Group Box")
      
        formLayout.addRow(self.cb1)
        formLayout.addRow(self.cb2)
        formLayout.addRow(self.cb3)
        formLayout.addRow(self.cb4)
        formLayout.addRow(self.cb5)
   
        bt = QPushButton('submit',self)     
        formLayout.addRow(bt)
        bt.clicked.connect(self.go)

运行结果是有勾选框的菜单

我现在想给我的每个勾选选项添加折叠功能 比如 Hello是可以点击一个三角形或者类似的标志可以展开它获得更多勾选选项,然后我点击submit以后 这些子选项只影响Hello这一个, 其他You, Are 同理 请问可以实现吗

加入一个个Treeview控件,控件节点treenode使用checkbox