关注、星标公众号,直达精彩内容
来源:技术让梦想更伟大 作者:李肖遥
QtMaterialAppBar | |
![]() | |
QtMaterialAutoComplete | |
![]() | |
QtMaterialAvatar | |
![]() | |
QtMaterialBadge | |
![]() | |
QtMaterialCheckBox | |
![]() | |
QtMaterialCircularProgress | |
![]() | |
QtMaterialDialog | |
![]() | |
QtMaterialDrawer | |
![]() | |
QtMaterialFloatingActionButton | |
![]() | |
QtMaterialFlatButton | |
![]() | |
QtMaterialIconButton | |
![]() | |
QtMaterialProgress | |
![]() | |
QtMaterialRadioButton | |
![]() | |
QtMaterialRaisedButton | |
![]() | |
QtMaterialScrollBar | |
![]() | |
QtMaterialSlider | |
![]() | |
QtMaterialSnackBar | |
![]() | |
QtMaterialTabs | |
![]() | |
QtMaterialTextField | |
![]() | |
QtMaterialToggle | |
![]() |
其主要实现代码如下
mainwindow.cpp
#include "mainwindow.h"
#include
#include
#include
#include "avatarsettingseditor.h"
#include "badgesettingseditor.h"
#include "checkboxsettingseditor.h"
#include "fabsettingseditor.h"
#include "raisedbuttonsettingseditor.h"
#include "flatbuttonsettingseditor.h"
#include "iconbuttonsettingseditor.h"
#include "progresssettingseditor.h"
#include "circularprogresssettingseditor.h"
#include "slidersettingseditor.h"
#include "radiobuttonsettingseditor.h"
#include "togglesettingseditor.h"
#include "textfieldsettingseditor.h"
#include "tabssettingseditor.h"
#include "snackbarsettingseditor.h"
#include "dialogsettingseditor.h"
#include "drawersettingseditor.h"
#include "scrollbarsettingseditor.h"
#include "appbarsettingseditor.h"
#include "autocompletesettingseditor.h"
#include "menusettingseditor.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;
layout->addWidget(list);
layout->addLayout(stack);
layout->setStretch(1, 2);
setCentralWidget(widget);
AvatarSettingsEditor *avatar = new AvatarSettingsEditor;
BadgeSettingsEditor *badge = new BadgeSettingsEditor;
CheckBoxSettingsEditor *checkbox = new CheckBoxSettingsEditor;
FloatingActionButtonSettingsEditor *fab = new FloatingActionButtonSettingsEditor;
RaisedButtonSettingsEditor *raisedButton = new RaisedButtonSettingsEditor;
FlatButtonSettingsEditor *flatButton = new FlatButtonSettingsEditor;
IconButtonSettingsEditor *iconButton = new IconButtonSettingsEditor;
ProgressSettingsEditor *progress = new ProgressSettingsEditor;
CircularProgressSettingsEditor *circularProgress = new CircularProgressSettingsEditor;
SliderSettingsEditor *slider = new SliderSettingsEditor;
RadioButtonSettingsEditor *radioButton = new RadioButtonSettingsEditor;
ToggleSettingsEditor *toggle = new ToggleSettingsEditor;
TextFieldSettingsEditor *textField = new TextFieldSettingsEditor;
TabsSettingsEditor *tabs = new TabsSettingsEditor;
SnackbarSettingsEditor *snackbar = new SnackbarSettingsEditor;
DialogSettingsEditor *dialog = new DialogSettingsEditor;
DrawerSettingsEditor *drawer = new DrawerSettingsEditor;
ScrollBarSettingsEditor *scrollBar = new ScrollBarSettingsEditor;
AppBarSettingsEditor *appBar = new AppBarSettingsEditor;
AutoCompleteSettingsEditor *autocomplete = new AutoCompleteSettingsEditor;
MenuSettingsEditor *menu = new MenuSettingsEditor;
stack->addWidget(appBar);
stack->addWidget(autocomplete);
stack->addWidget(avatar);
stack->addWidget(badge);
stack->addWidget(checkbox);
stack->addWidget(circularProgress);
stack->addWidget(dialog);
stack->addWidget(drawer);
stack->addWidget(fab);
stack->addWidget(flatButton);
stack->addWidget(iconButton);
stack->addWidget(menu);
stack->addWidget(progress);
stack->addWidget(radioButton);
stack->addWidget(raisedButton);
stack->addWidget(scrollBar);
stack->addWidget(slider);
stack->addWidget(snackbar);
stack->addWidget(tabs);
stack->addWidget(textField);
stack->addWidget(toggle);
list->addItem("App Bar");
list->addItem("Auto Complete");
list->addItem("Avatar");
list->addItem("Badge");
list->addItem("Checkbox");
list->addItem("Circular Progress");
list->addItem("Dialog");
list->addItem("Drawer");
list->addItem("Floating Action Button");
list->addItem("Flat Button");
list->addItem("Icon Button");
list->addItem("Menu");
list->addItem("Progress");
list->addItem("Radio Button");
list->addItem("Raised Button");
list->addItem("ScrollBar");
list->addItem("Slider");
list->addItem("Snackbar");
list->addItem("Tabs");
list->addItem("Text Field");
list->addItem("Toggle");
list->setCurrentRow(0);
QObject::connect(list, &QListWidget::currentItemChanged,
[=](QListWidgetItem *current, QListWidgetItem *previous)
{
Q_UNUSED(current)
Q_UNUSED(previous)
stack->setCurrentIndex(list->currentRow());
});
}
MainWindow::~MainWindow()
{
}
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
};
#endif // MAINWINDOW_H
项目地址:
https://github.com/laserpants/qt-material-widgets
‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ END ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧
关注我的微信公众号,回复“星球”加入知识星球,有问必答。
点击“阅读原文”查看知识星球详情,欢迎点分享、收藏、点赞、在看。