QtreeWidget
111
def OpenHistoryDialog(self): self.IpHistory = QtWidgets.QDialog(self) self.IpHistory.setWindowTitle("打开") self.IpHistory.setWindowFlag(QtCore.Qt.WindowContextHelpButtonHint, False) #去掉问号 self.IpHistory.setModal(True) #设置模态 VBoxLayout = QtWidgets.QVBoxLayout(self.IpHistory) VBoxLayout.setContentsMargins(0, 0, 0, 0) self.treeWidget_IpHistory = QtWidgets.QTreeWidget(self.IpHistory) #设置shift多选 https://doc.qt.io/qtforpython/PySide2/QtWidgets/QAbstractItemView.html self.treeWidget_IpHistory.setSelectionMode(QtWidgets.QAbstractItemView.ContiguousSelection) #设置列数 self.treeWidget_IpHistory.setColumnCount(1) #设置树形控件头部的标题 ['Key','Value'] self.treeWidget_IpHistory.setHeaderLabels(['Name']) self.treeWidget_IpHistory.header().hide() root = QtWidgets.QTreeWidgetItem(self.treeWidget_IpHistory,["IP"] ) QtWidgets.QTreeWidgetItem(root, ['192.100.100.12',"192.100.100.12"]) QtWidgets.QTreeWidgetItem(root, ['192.100.100.13',"192.100.100.14"]) QtWidgets.QTreeWidgetItem(root, ['192.100.100.14',"192.100.100.15"]) #确认连接按钮 frame_IpConnect = QtWidgets.QFrame(self.IpHistory) frame_IpConnect.setContentsMargins(0, 0, 0, 0) pushButton_IpConnect = QtWidgets.QPushButton(frame_IpConnect) pushButton_IpConnect.setText("连接") pushButton_IpConnect.setFixedSize(50, 20) gridLayout = QtWidgets.QGridLayout(frame_IpConnect) gridLayout.setContentsMargins(0, 0, 0, 0) gridLayout.addWidget(pushButton_IpConnect) pushButton_IpConnect.clicked.connect(self.OpenHistoryIP) #给节点添加响应事件 #双击事件 self.treeWidget_IpHistory.itemDoubleClicked.connect(self.OpenOneIP) #右键菜单 要先注册 https://blog.csdn.net/xiexingshishu/article/details/44357753 self.treeWidget_IpHistory.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.treeWidget_IpHistory.customContextMenuRequested.connect(self.treeWidget_IpHistory_popMenu) self.treeWidget_IpHistory.currentItemChanged.connect(self.treeWidget_IpHistory_ItemChanged) # self.treeWidget_IpHistory.mousePressEvent.connect(self.RightClicked) # self.treeWidget_IpHistory.itemPressed.connect(self.RightClicked) #节点全部展开 self.treeWidget_IpHistory.expandAll() VBoxLayout.addWidget(self.treeWidget_IpHistory) VBoxLayout.addWidget(frame_IpConnect) self.IpHistory.show() def treeWidget_IpHistory_ItemChanged(self, current, previous): if None != current.parent(): current.setBackground(0, QtGui.QColor(0, 0, 255, 125) ) if None != previous: previous.setBackground(0, QtGui.QColor(255, 255, 255, 125) ) def treeWidget_IpHistory_popMenu(self, pos): curItem=self.treeWidget_IpHistory.currentItem() curItem.setBackground(0, QtGui.QColor(0, 0, 255) ) print(curItem)
浙公网安备 33010602011771号