Skip to content

Instantly share code, notes, and snippets.

@daybreak0804
Last active October 8, 2017 02:40
Show Gist options
  • Save daybreak0804/523ccd7e50af9afa034f5d7c11cb26c9 to your computer and use it in GitHub Desktop.
Save daybreak0804/523ccd7e50af9afa034f5d7c11cb26c9 to your computer and use it in GitHub Desktop.
add items to qTreeWidget, show current Item to qListWidget
import sys
# for PyQt
from PyQt4 import uic, QtGui
from PyQt4.QtGui import QMainWindow, QApplication
from PyQt4.QtGui import QTableWidgetItem, QTreeWidgetItem
from PyQt4.QtGui import QFileDialog, QFont, QFileSystemModel, QListWidgetItem
from PyQt4.QtCore import QModelIndex, QDir, SIGNAL, QObject, pyqtSlot
form_class = uic.loadUiType("./qTreeWidget_test.ui")[0]
class MyWindow(QMainWindow, form_class):
def __init__(self):
super(MyWindow,self).__init__()
self.setupUi(self)
## push buttons init code
self.pushButton_displayCurrentItem.clicked.connect(self.displayCurrentItem)
self.pushButton_addItems.clicked.connect(self.addItems)
## treewidget
self.treeWidget.setColumnCount(3)
def displayCurrentItem(self):
print "displayCurrentItem"
# add an item
currentStr = self.treeWidget.currentItem().text(0)
anItem = QListWidgetItem(currentStr)
self.listWidget.addItem(anItem)
#@pyqtSlot("QItemSelection, QItemSelection")
def addItems(self):
print "hello!"
aItem1 = QTreeWidgetItem(self.treeWidget, ["abc", "def"])
aItem2 = QTreeWidgetItem(aItem1, "test")
aItem3 = QTreeWidgetItem(aItem2, ["test"])
self.treeWidget.insertTopLevelItem(aItem1);
if __name__ == "__main__":
app = QApplication(sys.argv)
#setup_logging()
myWindow = MyWindow()
myWindow.show()
app.exec_()
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1261</width>
<height>1040</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>TreeWidget1</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QTreeWidget" name="treeWidget">
<column>
<property name="text">
<string notr="true">1</string>
</property>
</column>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>ListWidget</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QListWidget" name="listWidget"/>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1261</width>
<height>31</height>
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
<widget class="QDockWidget" name="dockWidget">
<attribute name="dockWidgetArea">
<number>1</number>
</attribute>
<widget class="QWidget" name="dockWidgetContents">
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QPushButton" name="pushButton_addItems">
<property name="text">
<string>addItems</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_displayCurrentItem">
<property name="text">
<string>displayCurrentItem</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</widget>
<resources/>
<connections/>
</ui>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment