QtNovelUI/u_test/main.cpp

84 lines
2.5 KiB
C++

#include "unnnn.h"
#include <QApplication>
#include <QDebug>
#include <QDir>
#include <QDomDocument>
#include <QHBoxLayout>
#include <QMainWindow>
#include <QMenuBar>
#include <QPushButton>
#include <QStyle>
#include <QToolBar>
#include <baseview.h>
#include <splitpanel.h>
#include <splitview.h>
using namespace SplitFrame;
enum class XEnum { ONE, TWO };
int main(int argc, char *argv[]) {
QApplication a(argc, argv);
// qDebug() << QString("%1").arg((int)XEnum::ONE);
auto win = new QMainWindow();
win->setMinimumSize(800, 600);
win->menuBar()->addMenu("文件");
auto tbar = new QToolBar();
win->addToolBar(Qt::ToolBarArea::LeftToolBarArea, tbar);
auto conv = new ViewPresent();
auto aview = new XWidget(conv, Qt::black);
auto bview = new XWidget(conv, Qt::green);
auto cview = new XWidget(conv, Qt::yellow);
auto dview = new YWidget(conv);
auto rect0 = conv->appendView(aview, QIcon(), "hello0");
auto rect1 = conv->appendView(bview, QIcon(), "hello1");
auto rect2 = conv->appendView(cview, QIcon(), "hello2");
auto rect3 = conv->appendView(dview, QIcon(), "hello3");
conv->markFreedom(rect0);
conv->markFreedom(rect1);
conv->markFreedom(rect2);
conv->markFreedom(rect3);
conv->objsRelateRebuild();
conv->resetEngross(static_cast<RectCom *>(rect3));
win->setCentralWidget(conv->bind());
auto b_left = tbar->addAction("左侧添加");
win->connect(b_left, &QAction::triggered, [=](bool v) {
auto items = conv->freedomViews();
if (items.size()) {
conv->temporaryVisible(SplitFrame::DockType::LEFT, items.last());
}
});
auto b_right = tbar->addAction(" 右侧添加");
win->connect(b_right, &QAction::triggered, [=](bool v) {
auto items = conv->freedomViews();
if (items.size()) {
conv->temporaryVisible(SplitFrame::DockType::RIGHT, items.last());
}
});
auto b_top = tbar->addAction("上侧添加");
win->connect(b_top, &QAction::triggered, [=](bool v) {
auto items = conv->freedomViews();
if (items.size()) {
conv->temporaryVisible(SplitFrame::DockType::TOP, items.last());
}
});
auto b_bottom = tbar->addAction("下侧添加");
win->connect(b_bottom, &QAction::triggered, [=](bool v) {
auto items = conv->freedomViews();
if (items.size()) {
conv->temporaryVisible(SplitFrame::DockType::BOTTOM, items.last());
}
});
win->show();
return a.exec();
}