Files
qt-creator/tests/manual/widgets/layoutbuilder/tst_manual_widgets_layoutbuilder.cpp
hjk 971938421c Use LayoutBuilder V2
This puts the implementation introduced in acf1ecb47f into use, after
significant simplifications in the class hierarchy. CRTP is not used
anymore, and the new tag based dispatch is also used for Layout::addItem,
effectively reducing the number of different code paths.

The Lua based settings access is disabled for now.

Change-Id: Idb6d1a25675378757c5267bdb630bcd4c1f52d34
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2024-05-27 12:38:48 +00:00

61 lines
1.5 KiB
C++

// Copyright (C) 2022 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
#include <utils/layoutbuilder.h>
#include <QApplication>
#include <QLineEdit>
#include <QTextEdit>
using namespace Layouting;
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
auto lineEdit = new QLineEdit("0");
auto minusClick = [lineEdit] {
lineEdit->setText(QString::number(lineEdit->text().toInt() + 1));
};
auto plusClick = [lineEdit] {
lineEdit->setText(QString::number(lineEdit->text().toInt() + 1));
};
Row {
PushButton { text("-"), onClicked(minusClick, nullptr) },
lineEdit,
PushButton { text("+"), onClicked(plusClick, nullptr) },
Group {
title("Splitter in Group"),
Column {
Splitter {
new QTextEdit("First Widget"),
new QTextEdit("Second Widget"),
},
}
},
}.emerge()->show();
Group {
windowTitle("Group without parent layout"),
title("This group was emerged without parent layout"),
Column {
Splitter {
new QTextEdit("First Widget"),
new QTextEdit("Second Widget"),
},
}
}.emerge()->show();
Splitter {
windowTitle("Splitter with sub layouts"),
Column { QString("First Widget") },
Row { QString("Second Widget") },
}.emerge()->show();
return app.exec();
}