Let's install the PyQt5 python module with the pip tool:
C:\Python373\Scripts>pip install PyQt5
Collecting PyQt5
...
Successfully installed PyQt5-5.12.2 PyQt5-sip-4.19.17
Let's see one simple example with comments about how to use QTreeWidget.import sys
from PyQt5.QtWidgets import QTreeWidget, QTreeWidgetItem, QApplication, QWidget
if __name__ == '__main__':
# create a empty my_app application
my_app = ''
# test this my_app to create instance
if QApplication.instance() != None:
my_app = QApplication.instance()
else:
my_app = QApplication(sys.argv)
# create a QTreeWidgetItem with tree columns
my_tree= QTreeWidgetItem(["Column A", "Column B", "Column C"])
# add date using a for loop
for i in range(6):
list_item_row = QTreeWidgetItem(["Child A-" + str(i), "Child B-" + str(i), "Child C-" + str(i)])
my_tree.addChild(list_item_row)
# create my_widget widget
my_widget = QWidget()
my_widget.resize(640, 180)
# create a QTreeWidget named my_tree_widget
my_tree_widget = QTreeWidget(my_widget)
# set the size
my_tree_widget.resize(640, 180)
# set the number of columns
my_tree_widget.setColumnCount(3)
# add labels for each column
my_tree_widget.setHeaderLabels(["Column A label", "Column B label", "Column C label"])
# add my_tree using addTopLevelItem
my_tree_widget.addTopLevelItem(my_tree)
# show the widget
my_widget.show()
# the exit of my_app
sys.exit(my_app.exec_())
This is another simple example written in a simple way to show how versatile are Python and PyQt5.import sys
from PyQt5.QtWidgets import *
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QTreeWidget, QTreeWidgetItem
my_app = QApplication(sys.argv)
my_window = QWidget()
my_layout = QVBoxLayout(my_window)
my_tree = QTreeWidget()
my_tree.setHeaderLabels(['Name', 'Cost ($)'])
my_item_root = QTreeWidgetItem(my_tree, ['Romania', '238,397 kmp'])
my_item_raw = QTreeWidgetItem(my_item_root, ['Black Sea', '436,402 kmp'])
my_layout.addWidget(my_tree)
my_window.show()
sys.exit(my_app.exec_())
If you like my simple tutorials then you subscribe or you can search my other web sites too.