是否可以从QComboBox中在列标题中添加QTreeWidget?
我希望头部中的QComboBox位于AI旁边或下方。(我有不同类型的人工智能,这就是原因)。

我知道可以将QComboBox添加为QTreeWidgetItem。但在头版中我没有发现。耽误您时间,实在对不起。
发布于 2020-09-09 14:28:05
我知道您可以在qtreewidget的标题下添加任何widgetitem,下面是执行该操作的代码。
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import (QTreeWidget, QTreeWidgetItem, QPushButton, QLabel, QDialog, QVBoxLayout, QApplication, QLineEdit)
from PyQt5.QtWidgets import (QPushButton, QDialog, QTreeWidget,
QTreeWidgetItem, QVBoxLayout,
QHBoxLayout, QFrame, QLabel, QComboBox,
QApplication)
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(800, 600)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.treeWidget = QtWidgets.QTreeWidget(self.centralwidget)
self.treeWidget.setGeometry(QtCore.QRect(90, 50, 256, 192))
self.treeWidget.setObjectName("treeWidget")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 21))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
#initialize top level items
self.topLevelItem1 = QTreeWidgetItem(self.treeWidget)
#add those top level in treewidget
self.treeWidget.addTopLevelItem(self.topLevelItem1)
#create button
self.ButtonWidget=QtWidgets.QPushButton("Press")
self.ButtonWidget.clicked.connect(self.AddCombo)
#add button to tree widget
self.treeWidget.setItemWidget(self.topLevelItem1, 0, self.ButtonWidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def AddCombo(self):
#add combo box on button press
self.QcomboWidget=QtWidgets.QComboBox()
self.QcomboWidget.addItem("item1")
self.treeWidget.setItemWidget(self.topLevelItem1, 1, self.QcomboWidget)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.treeWidget.headerItem().setText(0, _translate("MainWindow", "Designation"))
self.treeWidget.headerItem().setText(1, _translate("MainWindow", "AI"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())https://stackoverflow.com/questions/63812622
复制相似问题