小编给大家分享一下PyQt4 treewidget选择改变颜色并设置可编辑的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
如下所示:
# -*- coding: utf-8 -*- import sys from PySide.QtGui import * from PySide.QtCore import * global Item_temp Item_temp='' class TreeWidget(QWidget): def __init__(self): super(TreeWidget, self).__init__() self.setWindowTitle('TreeWidget') self.tree = QTreeWidget() # 实例化一个TreeWidget对象 self.tree.setColumnCount(2) # 设置部件的列数为2 self.tree.setDropIndicatorShown(True) self.tree.setSelectionMode(QAbstractItemView.ExtendedSelection) self.tree.setHeaderLabels(['Key', 'Value']) # 设置头部信息对应列的标识符 # 设置root为self.tree的子树,故root是根节点 root = QTreeWidgetItem(self.tree) root.setText(0, 'root') # 设置根节点的名称 root.setCheckState(0, Qt.Unchecked); root.setFlags(root.flags() | Qt.ItemIsEditable) #设置可编辑 # 为root节点设置子结点 child1 = QTreeWidgetItem(root) child1.setText(0, 'child1') child1.setText(1, 'name1') child1.setCheckState(0, Qt.Unchecked); child2 = QTreeWidgetItem(root) child2.setText(0, 'child2') child2.setText(1, 'name2') child2.setCheckState(0, Qt.Unchecked); child3 = QTreeWidgetItem(root) child3.setText(0, 'child3') child3.setCheckState(0, Qt.Unchecked); child4 = QTreeWidgetItem(child3) child4.setText(0, 'child4') child4.setToolTip(0,'child4') #child4.statusTip(0) QToolTip.setFont(QFont('OldEnglish', 30)) child4.setText(1, 'name4') child4.setToolTip(1,'name4') child4.setCheckState(0, Qt.Unchecked); child5 = QTreeWidgetItem(child3) child5.setText(0, 'child5') child5.setToolTip(0,'child5') #child5.statusTip(0) QToolTip.setFont(QFont('OldEnglish', 30)) child5.setText(1, 'name5') child5.setToolTip(1,'name5') child5.setCheckState(0, Qt.Unchecked); button=QPushButton("test") self.lay=QVBoxLayout() self.lay.addWidget(button) self.lay.addWidget(self.tree) button.clicked.connect(self.getText) #self.tree.itemChanged.connect(self.handleChanged) self.tree.itemDoubleClicked.connect(self.handleChanged) #self.tree.itemDoubleClicked.connect(self.handleChanged) self.tree.addTopLevelItem(root) self.setLayout(self.lay) # 将tree部件设置为该窗口的核心框架 def handleChanged(self, item, column): #print dir(item) global Item_temp if Item_temp=="": Item_temp=(item,column) item.setBackground(column,QColor(100,150,50)) print Item_temp else: print Item_temp Item_temp[0].setBackground(Item_temp[1],QColor(255,255,255)) item.setBackground(column,QColor(120,150,50)) Item_temp=(item,column) print Item_temp #self.tree.selectedItems() #item.setBackgroundColor(column,QColor(40,150,50)) #col=QColor(190,150,50) #item.setForeground(column,QBrush(col)) #print dir(item) def getText(self): t=QTreeWidgetItemIterator(self.tree); #print dir(QTreeWidgetItemIterator) while(t): try: print t.value().text(0) except: break t.next() #print t app = QApplication(sys.argv) #app.aboutToQuit.connect(app.deleteLater) tp = TreeWidget() tp.show() #app.installEventFilter(tp) app.exec_()
#root.setFlags(root.flags() | Qt.ItemIsEditable)
#设置可编辑
#item.setBackground(column,QColor(120,150,50))
#设置背景颜色
#getText 获取所有item(迭代)
以上是“PyQt4 treewidget选择改变颜色并设置可编辑的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。