时间:2021-05-22
如下所示:
# -*- coding: utf-8 -*-import sysfrom PySide.QtGui import *from PySide.QtCore import * global Item_tempItem_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 选择改变颜色,并设置可编辑的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在PyQt5中QLineEdit里面的内容回车发送的方法是和PyQt4中不同的,主要是信号槽的写法的改变导致的。具体不同如下:在PyQt4中,我们要进行回车发送
本文为大家分享了PyQt4实现下拉菜单可供选择并打印出来的具体代码,供大家参考,具体内容如下#-*-coding:cp936-*-#QComboBox窗口组件允
本文实例讲述了Python实现的网页截图功能。分享给大家供大家参考,具体如下:方法一、使用PyQt4的QtWebKit组件#!/usr/bin/envpytho
一、安装首先根据自己的python版本下载pyqt4离线包,现在连接:https://www.lfd.uci.edu/~gohlke/pythonlibs/#p
1、可编辑:可编辑设置contentEditable属性可以让div编程可编辑状态2、可拖动:$('#move').draggable();使用jQueryUI