qt-material-widgets/examples/mainwindow.cpp

53 lines
1.3 KiB
C++

#include "mainwindow.h"
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QStackedLayout>
#include <QtWidgets/QListWidget>
#include "avatarsettingseditor.h"
#include "badgesettingseditor.h"
#include "checkboxsettingseditor.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
QWidget *widget = new QWidget;
QHBoxLayout *layout = new QHBoxLayout;
widget->setLayout(layout);
QStackedLayout *stack = new QStackedLayout;
QListWidget *list = new QListWidget;
setCentralWidget(widget);
layout->addWidget(list);
layout->addLayout(stack);
layout->setStretch(1, 2);
AvatarSettingsEditor *avatar = new AvatarSettingsEditor;
BadgeSettingsEditor *badge = new BadgeSettingsEditor;
CheckBoxSettingsEditor *checkbox = new CheckBoxSettingsEditor;
stack->addWidget(avatar);
stack->addWidget(badge);
stack->addWidget(checkbox);
list->addItem("Avatar");
list->addItem("Badge");
list->addItem("Checkbox");
list->setCurrentRow(0);
QObject::connect(list, &QListWidget::currentItemChanged,
[=](QListWidgetItem *current, QListWidgetItem *previous)
{
Q_UNUSED(current)
Q_UNUSED(previous)
stack->setCurrentIndex(list->currentRow());
});
}
MainWindow::~MainWindow()
{
}