diff options
Diffstat (limited to 'examples/widgets/layouts')
-rw-r--r-- | examples/widgets/layouts/CMakeLists.txt | 1 | ||||
-rw-r--r-- | examples/widgets/layouts/dynamiclayouts/CMakeLists.txt | 37 | ||||
-rw-r--r-- | examples/widgets/layouts/dynamiclayouts/dialog.cpp | 136 | ||||
-rw-r--r-- | examples/widgets/layouts/dynamiclayouts/dialog.h | 53 | ||||
-rw-r--r-- | examples/widgets/layouts/dynamiclayouts/dynamiclayouts.pro | 10 | ||||
-rw-r--r-- | examples/widgets/layouts/dynamiclayouts/main.cpp | 15 | ||||
-rw-r--r-- | examples/widgets/layouts/layouts.pro | 1 |
7 files changed, 0 insertions, 253 deletions
diff --git a/examples/widgets/layouts/CMakeLists.txt b/examples/widgets/layouts/CMakeLists.txt index 0afe0fb07c..75355a0778 100644 --- a/examples/widgets/layouts/CMakeLists.txt +++ b/examples/widgets/layouts/CMakeLists.txt @@ -2,5 +2,4 @@ # SPDX-License-Identifier: BSD-3-Clause qt_internal_add_example(basiclayouts) -qt_internal_add_example(dynamiclayouts) qt_internal_add_example(flowlayout) diff --git a/examples/widgets/layouts/dynamiclayouts/CMakeLists.txt b/examples/widgets/layouts/dynamiclayouts/CMakeLists.txt deleted file mode 100644 index 5fe39bfb5f..0000000000 --- a/examples/widgets/layouts/dynamiclayouts/CMakeLists.txt +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright (C) 2022 The Qt Company Ltd. -# SPDX-License-Identifier: BSD-3-Clause - -cmake_minimum_required(VERSION 3.16) -project(dynamiclayouts LANGUAGES CXX) - -if(NOT DEFINED INSTALL_EXAMPLESDIR) - set(INSTALL_EXAMPLESDIR "examples") -endif() - -set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/widgets/layouts/dynamiclayouts") - -find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets) - -qt_standard_project_setup() - -qt_add_executable(dynamiclayouts - dialog.cpp dialog.h - main.cpp -) - -set_target_properties(dynamiclayouts PROPERTIES - WIN32_EXECUTABLE TRUE - MACOSX_BUNDLE TRUE -) - -target_link_libraries(dynamiclayouts PRIVATE - Qt6::Core - Qt6::Gui - Qt6::Widgets -) - -install(TARGETS dynamiclayouts - RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" - BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" - LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" -) diff --git a/examples/widgets/layouts/dynamiclayouts/dialog.cpp b/examples/widgets/layouts/dynamiclayouts/dialog.cpp deleted file mode 100644 index 28b4fc2f7f..0000000000 --- a/examples/widgets/layouts/dynamiclayouts/dialog.cpp +++ /dev/null @@ -1,136 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - -#include <QtWidgets> - -#include "dialog.h" - -Dialog::Dialog(QWidget *parent) - : QDialog(parent) -{ - createRotatableGroupBox(); - createOptionsGroupBox(); - createButtonBox(); - - mainLayout = new QGridLayout; - mainLayout->addWidget(rotatableGroupBox, 0, 0); - mainLayout->addWidget(optionsGroupBox, 1, 0); - mainLayout->addWidget(buttonBox, 2, 0); - setLayout(mainLayout); - - mainLayout->setSizeConstraint(QLayout::SetMinimumSize); - - setWindowTitle(tr("Dynamic Layouts")); -} - -void Dialog::buttonsOrientationChanged(int index) -{ - mainLayout->setSizeConstraint(QLayout::SetNoConstraint); - setMinimumSize(0, 0); - - Qt::Orientation orientation = Qt::Orientation( - buttonsOrientationComboBox->itemData(index).toInt()); - - if (orientation == buttonBox->orientation()) - return; - - mainLayout->removeWidget(buttonBox); - - int spacing = mainLayout->spacing(); - - QSize oldSizeHint = buttonBox->sizeHint() + QSize(spacing, spacing); - buttonBox->setOrientation(orientation); - QSize newSizeHint = buttonBox->sizeHint() + QSize(spacing, spacing); - - if (orientation == Qt::Horizontal) { - mainLayout->addWidget(buttonBox, 2, 0); - resize(size() + QSize(-oldSizeHint.width(), newSizeHint.height())); - } else { - mainLayout->addWidget(buttonBox, 0, 3, 2, 1); - resize(size() + QSize(newSizeHint.width(), -oldSizeHint.height())); - } - - mainLayout->setSizeConstraint(QLayout::SetDefaultConstraint); -} - -void Dialog::rotateWidgets() -{ - Q_ASSERT(rotatableWidgets.count() % 2 == 0); - - for (QWidget *widget : std::as_const(rotatableWidgets)) - rotatableLayout->removeWidget(widget); - - rotatableWidgets.enqueue(rotatableWidgets.dequeue()); - - const int n = rotatableWidgets.count(); - for (int i = 0; i < n / 2; ++i) { - rotatableLayout->addWidget(rotatableWidgets[n - i - 1], 0, i); - rotatableLayout->addWidget(rotatableWidgets[i], 1, i); - } -} - -void Dialog::help() -{ - QMessageBox::information(this, tr("Dynamic Layouts Help"), - tr("This example shows how to change layouts " - "dynamically.")); -} - -void Dialog::createRotatableGroupBox() -{ - rotatableGroupBox = new QGroupBox(tr("Rotatable Widgets")); - - rotatableWidgets.enqueue(new QSpinBox); - rotatableWidgets.enqueue(new QSlider); - rotatableWidgets.enqueue(new QDial); - rotatableWidgets.enqueue(new QProgressBar); - - int n = rotatableWidgets.count(); - for (int i = 0; i < n; ++i) { - connect(rotatableWidgets[i], SIGNAL(valueChanged(int)), - rotatableWidgets[(i + 1) % n], SLOT(setValue(int))); - } - - rotatableLayout = new QGridLayout; - rotatableGroupBox->setLayout(rotatableLayout); - - rotateWidgets(); -} - -void Dialog::createOptionsGroupBox() -{ - optionsGroupBox = new QGroupBox(tr("Options")); - - buttonsOrientationLabel = new QLabel(tr("Orientation of buttons:")); - - buttonsOrientationComboBox = new QComboBox; - buttonsOrientationComboBox->addItem(tr("Horizontal"), Qt::Horizontal); - buttonsOrientationComboBox->addItem(tr("Vertical"), Qt::Vertical); - - connect(buttonsOrientationComboBox, - &QComboBox::currentIndexChanged, - this, - &Dialog::buttonsOrientationChanged); - - optionsLayout = new QGridLayout; - optionsLayout->addWidget(buttonsOrientationLabel, 0, 0); - optionsLayout->addWidget(buttonsOrientationComboBox, 0, 1); - optionsLayout->setColumnStretch(2, 1); - optionsGroupBox->setLayout(optionsLayout); -} - -void Dialog::createButtonBox() -{ - buttonBox = new QDialogButtonBox; - - closeButton = buttonBox->addButton(QDialogButtonBox::Close); - helpButton = buttonBox->addButton(QDialogButtonBox::Help); - rotateWidgetsButton = buttonBox->addButton(tr("Rotate &Widgets"), - QDialogButtonBox::ActionRole); - - connect(rotateWidgetsButton, &QPushButton::clicked, this, &Dialog::rotateWidgets); - connect(closeButton, &QPushButton::clicked, this, &Dialog::close); - connect(helpButton, &QPushButton::clicked, this, &Dialog::help); -} - - diff --git a/examples/widgets/layouts/dynamiclayouts/dialog.h b/examples/widgets/layouts/dynamiclayouts/dialog.h deleted file mode 100644 index 89424cee8a..0000000000 --- a/examples/widgets/layouts/dynamiclayouts/dialog.h +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - -#ifndef DIALOG_H -#define DIALOG_H - -#include <QDialog> -#include <QQueue> - -QT_BEGIN_NAMESPACE -class QComboBox; -class QDialogButtonBox; -class QGridLayout; -class QGroupBox; -class QLabel; -class QPushButton; -QT_END_NAMESPACE - -class Dialog : public QDialog -{ - Q_OBJECT - -public: - Dialog(QWidget *parent = nullptr); - -private slots: - void buttonsOrientationChanged(int index); - void rotateWidgets(); - void help(); - -private: - void createRotatableGroupBox(); - void createOptionsGroupBox(); - void createButtonBox(); - - QGroupBox *rotatableGroupBox; - QQueue<QWidget *> rotatableWidgets; - - QGroupBox *optionsGroupBox; - QLabel *buttonsOrientationLabel; - QComboBox *buttonsOrientationComboBox; - - QDialogButtonBox *buttonBox; - QPushButton *closeButton; - QPushButton *helpButton; - QPushButton *rotateWidgetsButton; - - QGridLayout *mainLayout; - QGridLayout *rotatableLayout; - QGridLayout *optionsLayout; -}; - -#endif // DIALOG_H diff --git a/examples/widgets/layouts/dynamiclayouts/dynamiclayouts.pro b/examples/widgets/layouts/dynamiclayouts/dynamiclayouts.pro deleted file mode 100644 index dcd4288698..0000000000 --- a/examples/widgets/layouts/dynamiclayouts/dynamiclayouts.pro +++ /dev/null @@ -1,10 +0,0 @@ -QT += widgets -requires(qtConfig(combobox)) - -HEADERS = dialog.h -SOURCES = dialog.cpp \ - main.cpp - -# install -target.path = $$[QT_INSTALL_EXAMPLES]/widgets/layouts/dynamiclayouts -INSTALLS += target diff --git a/examples/widgets/layouts/dynamiclayouts/main.cpp b/examples/widgets/layouts/dynamiclayouts/main.cpp deleted file mode 100644 index 865e0d1579..0000000000 --- a/examples/widgets/layouts/dynamiclayouts/main.cpp +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - -#include <QApplication> - -#include "dialog.h" - -int main(int argc, char *argv[]) -{ - QApplication app(argc, argv); - Dialog dialog; - dialog.show(); - - return app.exec(); -} diff --git a/examples/widgets/layouts/layouts.pro b/examples/widgets/layouts/layouts.pro index 6821e33359..c0b5453f02 100644 --- a/examples/widgets/layouts/layouts.pro +++ b/examples/widgets/layouts/layouts.pro @@ -1,4 +1,3 @@ TEMPLATE = subdirs SUBDIRS = basiclayouts \ - dynamiclayouts \ flowlayout |