Skip to content

Commit 04359c9

Browse files
committed
add TreeWidget example
1 parent 79b7ab6 commit 04359c9

File tree

11 files changed

+76
-206
lines changed

11 files changed

+76
-206
lines changed

Qt.Widgets/CommonControls/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,5 @@ add_subdirectory(SpinBox)
2424
add_subdirectory(SpinButton)
2525
add_subdirectory(ToggleButton)
2626
add_subdirectory(TreeView)
27+
add_subdirectory(TreeWidget)
2728
add_subdirectory(Widget)

Qt.Widgets/CommonControls/CommonControls.pro

+1
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,5 @@ SUBDIRS = \
1919
SpinButton \
2020
ToggleButton \
2121
TreeView \
22+
TreeWidget \
2223
Widget \

Qt.Widgets/CommonControls/TreeView/src/Ai16.xpm

-59
This file was deleted.

Qt.Widgets/CommonControls/TreeView/src/Avi16.xpm

-69
This file was deleted.

Qt.Widgets/CommonControls/TreeView/src/Bmp16.xpm

-74
This file was deleted.

Qt.Widgets/CommonControls/TreeView/src/TreeView.h

-4
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
11
#pragma once
2-
#include <QComboBox>
32
#include <QFrame>
43
#include <QMainWindow>
54
#include <QStandardItem>
65
#include <QStandardItemModel>
76
#include <QHeaderView>
87
#include <QTreeView>
98
#include <QVBoxLayout>
10-
#include "Ai16.xpm"
11-
#include "Avi16.xpm"
12-
#include "Bmp16.xpm"
139

1410
namespace Examples {
1511
class Window1 : public QMainWindow {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
cmake_minimum_required(VERSION 3.1)
2+
3+
# Project
4+
project(TreeWidget)
5+
find_package(Qt5Widgets CONFIG REQUIRED)
6+
7+
# Options
8+
set(CMAKE_AUTOMOC ON)
9+
set(CMAKE_AUTORCC ON)
10+
set(CMAKE_AUTOUIC ON)
11+
set(CMAKE_CXX_STANDARD 17)
12+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
13+
14+
# Application
15+
add_executable(TreeWidget WIN32 MACOSX_BUNDLE src/TreeWidget.cpp src/TreeWidget.h)
16+
target_link_libraries(TreeWidget Qt5::Widgets)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
CONFIG += c++17
2+
QT = widgets
3+
SOURCES = src/TreeWidget.cpp
4+
HEADERS = src/TreeWidget.h
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#include <QApplication>
2+
#include "TreeWidget.h"
3+
4+
using namespace Examples;
5+
6+
int main(int argc, char *argv[]) {
7+
QApplication application(argc, argv);
8+
Window1 window1;
9+
window1.show();
10+
return application.exec();
11+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#pragma once
2+
#include <QFrame>
3+
#include <QMainWindow>
4+
#include <QTreeWidget>
5+
#include <QTreeWidgetItem>
6+
#include <QVBoxLayout>
7+
8+
namespace Examples {
9+
class Window1 : public QMainWindow {
10+
Q_OBJECT
11+
public:
12+
Window1() {
13+
layout.addWidget(&treeWidget1);
14+
15+
auto rootNode = new QTreeWidgetItem({"Root"});
16+
treeWidget1.addTopLevelItem(rootNode);
17+
auto firstNode = new QTreeWidgetItem({"First"});
18+
rootNode->addChild(firstNode);
19+
firstNode->addChild(new QTreeWidgetItem({"Second"}));
20+
firstNode->addChild(new QTreeWidgetItem({"Third"}));
21+
auto fourthNode = new QTreeWidgetItem({"Fourth"});
22+
rootNode->addChild(fourthNode);
23+
fourthNode->addChild(new QTreeWidgetItem({"Fifth"}));
24+
fourthNode->addChild(new QTreeWidgetItem({"Sixth"}));
25+
fourthNode->addChild(new QTreeWidgetItem({"{Seventh"}));
26+
27+
treeWidget1.setHeaderHidden(true);
28+
treeWidget1.addTopLevelItem(rootNode);
29+
treeWidget1.expandAll();
30+
31+
setCentralWidget(&frame);
32+
setWindowTitle("Tree widget example");
33+
resize(300, 300);
34+
}
35+
36+
private:
37+
QFrame frame;
38+
QVBoxLayout layout {&frame};
39+
QTreeWidget treeWidget1;
40+
};
41+
}

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@ shows how to use Qt widgets only by programming code (c++17).
6161

6262
[TreeView](Qt.Widgets/CommonControls/TreeView) shows how to create a three view with QTreeView.
6363

64+
[TreeWidget](Qt.Widgets/CommonControls/TreeWidget) shows how to create a three widget with QTreeWidget.
65+
6466
[Widget](Qt.Widgets/CommonControls/ToggleButton) shows how to create a widget with QWidget.
6567

6668
## Containers

0 commit comments

Comments
 (0)