diff options
author | Tero Ahola <tero.ahola@digia.com> | 2012-08-07 15:10:47 +0300 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-10-18 21:45:46 +0200 |
commit | 8b6de4677142cab41790ca50ce6c7f1efbab5de8 (patch) | |
tree | 567b9f0567be137d25244291e81578562f4acac1 /tests/manual/qlayout/mainwindow.cpp | |
parent | e6cbf2f9858f88f2148e80e528f5aaddc91373a1 (diff) |
Modified vertical alignments of simple widgets on OSX
Adding QCheckBox, QComboBox, QLineEdit etc. into an HBox layout or grid
layout makes the layout look like a snake's trail. Fixed the positioning
of these widgets to make the layouts visually more appealing.
Updated qmacstyle auto-test accordingly.
Task-number: QTBUG-13635
Ammended-by: Gabriel de Dietrich
Change-Id: I89461f9aad68ea8488070ed06257b9b8e7f493c5
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Diffstat (limited to 'tests/manual/qlayout/mainwindow.cpp')
-rw-r--r-- | tests/manual/qlayout/mainwindow.cpp | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/tests/manual/qlayout/mainwindow.cpp b/tests/manual/qlayout/mainwindow.cpp new file mode 100644 index 0000000000..9899e0d881 --- /dev/null +++ b/tests/manual/qlayout/mainwindow.cpp @@ -0,0 +1,93 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "mainwindow.h" +#include "hbwidget.h" +#include "vbwidget.h" +#include "gridwidget.h" +#include <QGridLayout> +#include <QComboBox> + +MainWindow::MainWindow(QWidget *parent) + : QMainWindow(parent) +{ + QWidget *widget = new QWidget(this); + setCentralWidget(widget); + m_mainLayout = new QGridLayout(widget); + + QComboBox *combo = new QComboBox(); + combo->addItem("HBox Layout"); + combo->addItem("VBox Layout"); + combo->addItem("Grid Layout"); + connect(combo, SIGNAL(currentIndexChanged(int)), this, SLOT(layoutIndexChanged(int))); + HbWidget *hbWidget = new HbWidget(this); + + m_mainLayout->addWidget(combo); + m_mainLayout->addWidget(hbWidget); +} + +MainWindow::~MainWindow() +{ + +} + +void MainWindow::layoutIndexChanged(int index) +{ + delete m_mainLayout->takeAt(1)->widget(); + + switch (index) { + case 0: { + HbWidget *hbWidget = new HbWidget(this); + m_mainLayout->addWidget(hbWidget); + break; + } + case 1: { + VbWidget *vbWidget = new VbWidget(this); + m_mainLayout->addWidget(vbWidget); + break; + } + default: { + GridWidget *gridW = new GridWidget(this); + m_mainLayout->addWidget(gridW); + break; + } + } +} |