QTextEdit 作为 QTreeWidgetItem 的 child 节点?
QTextEdit as a child node for QTreeWidgetItem?
是否可以在 QTreeWidget 中添加 QTextEdit 作为 child?
这是我的代码,我们可以创建一个 QTreeWidget 并添加列:
self.treetext = QtGui.QTreeWidget(self.dockWidgetContents_2)
self.treetext.setObjectName(_fromUtf8("treetext"))
self.verticalLayout_2.addWidget(self.treetext)
self.treetext.setGeometry(QtCore.QRect(20, 10, 261, 241))
item_0 = QtGui.QTreeWidgetItem(self.treetext)
item_1 = QtGui.QTreeWidgetItem(item_0)
item_1 = QtGui.QTreeWidgetItem(item_0)
item_1 = QtGui.QTreeWidgetItem(item_0)
item_1 = QtGui.QTreeWidgetItem(item_0)
item_0 = QtGui.QTreeWidgetItem(self.treetext)
item_1 = QtGui.QTreeWidgetItem(item_0)
item_1 = QtGui.QTreeWidgetItem(item_0)
item_1 = QtGui.QTreeWidgetItem(item_0)
item_1 = QtGui.QTreeWidgetItem(item_0)
并添加新项目 child:
self.treetext.headerItem().setText(0, _translate("Form", "Model List", None))
__sortingEnabled = self.treetext.isSortingEnabled()
self.treetext.setSortingEnabled(False)
self.treetext.topLevelItem(0).setText(0, _translate("Form", "Model 1", None))
self.treetext.topLevelItem(0).child(0).setText(0, _translate("Form", "New Subitem", None))
self.treetext.topLevelItem(0).child(1).setText(0, _translate("Form", "New Item", None))
self.treetext.topLevelItem(0).child(2).setText(0, _translate("Form", "New Item", None))
self.treetext.topLevelItem(0).child(3).setText(0, _translate("Form", "New Item", None))
self.treetext.topLevelItem(1).setText(0, _translate("Form", "Model 2", None))
self.treetext.topLevelItem(1).child(0).setText(0, _translate("Form", "New Subitem", None))
self.treetext.topLevelItem(1).child(1).setText(0, _translate("Form", "New Item", None))
self.treetext.topLevelItem(1).child(2).setText(0, _translate("Form", "New Item", None))
self.treetext.topLevelItem(1).child(3).setText(0, _translate("Form", "New Item", None))
self.treetext.setSortingEnabled(__sortingEnabled)
可以用其他例子创建一个新的QTextEdit:
self.groupBox = QtGui.QTextEdit(self.dockWidgetContents_2)
self.groupBox.setObjectName(_fromUtf8("groupBox"))
self.verticalLayout_2.addWidget(self.groupBox)
但是我们可以将 QTextEdit 作为 QTreeWidgetItem 的新 child 吗?
您可以使用 setItemWidget
在树中的任何项目上设置小部件
self.treetext.setItemWidget(item_1, 0, QTextEdit(self))
如果您的树形小部件项目是可编辑的,您也可以只告诉 Qt 打开持久性编辑器(默认情况下,QTreeWidgetItems
使用 QLineEdit
进行编辑,但您可以覆盖该行为QItemDelegate
如果需要)使用 openPersistentEditor()
self.treetext.openPersistentEditor(item_1, 0)
是否可以在 QTreeWidget 中添加 QTextEdit 作为 child?
这是我的代码,我们可以创建一个 QTreeWidget 并添加列:
self.treetext = QtGui.QTreeWidget(self.dockWidgetContents_2)
self.treetext.setObjectName(_fromUtf8("treetext"))
self.verticalLayout_2.addWidget(self.treetext)
self.treetext.setGeometry(QtCore.QRect(20, 10, 261, 241))
item_0 = QtGui.QTreeWidgetItem(self.treetext)
item_1 = QtGui.QTreeWidgetItem(item_0)
item_1 = QtGui.QTreeWidgetItem(item_0)
item_1 = QtGui.QTreeWidgetItem(item_0)
item_1 = QtGui.QTreeWidgetItem(item_0)
item_0 = QtGui.QTreeWidgetItem(self.treetext)
item_1 = QtGui.QTreeWidgetItem(item_0)
item_1 = QtGui.QTreeWidgetItem(item_0)
item_1 = QtGui.QTreeWidgetItem(item_0)
item_1 = QtGui.QTreeWidgetItem(item_0)
并添加新项目 child:
self.treetext.headerItem().setText(0, _translate("Form", "Model List", None))
__sortingEnabled = self.treetext.isSortingEnabled()
self.treetext.setSortingEnabled(False)
self.treetext.topLevelItem(0).setText(0, _translate("Form", "Model 1", None))
self.treetext.topLevelItem(0).child(0).setText(0, _translate("Form", "New Subitem", None))
self.treetext.topLevelItem(0).child(1).setText(0, _translate("Form", "New Item", None))
self.treetext.topLevelItem(0).child(2).setText(0, _translate("Form", "New Item", None))
self.treetext.topLevelItem(0).child(3).setText(0, _translate("Form", "New Item", None))
self.treetext.topLevelItem(1).setText(0, _translate("Form", "Model 2", None))
self.treetext.topLevelItem(1).child(0).setText(0, _translate("Form", "New Subitem", None))
self.treetext.topLevelItem(1).child(1).setText(0, _translate("Form", "New Item", None))
self.treetext.topLevelItem(1).child(2).setText(0, _translate("Form", "New Item", None))
self.treetext.topLevelItem(1).child(3).setText(0, _translate("Form", "New Item", None))
self.treetext.setSortingEnabled(__sortingEnabled)
可以用其他例子创建一个新的QTextEdit:
self.groupBox = QtGui.QTextEdit(self.dockWidgetContents_2)
self.groupBox.setObjectName(_fromUtf8("groupBox"))
self.verticalLayout_2.addWidget(self.groupBox)
但是我们可以将 QTextEdit 作为 QTreeWidgetItem 的新 child 吗?
您可以使用 setItemWidget
self.treetext.setItemWidget(item_1, 0, QTextEdit(self))
如果您的树形小部件项目是可编辑的,您也可以只告诉 Qt 打开持久性编辑器(默认情况下,QTreeWidgetItems
使用 QLineEdit
进行编辑,但您可以覆盖该行为QItemDelegate
如果需要)使用 openPersistentEditor()
self.treetext.openPersistentEditor(item_1, 0)