#include #include #ifdef _WINDOWS #include #endif #include #include #include #include "MainWindow.h" #include "component/SVG.h" #include "global.h" // 自定义 qHash 函数 #include #include #include #include QColor base = QColor("#007ee1"); MainWindow::MainWindow() { background_color = base; main_layout = new QVBoxLayout(this); int a = 2; main_layout->setContentsMargins(leftMargin + 20, topMargin + a, rightMargin + a, bottomMargin + a); header = new Header(this); main_layout->addWidget(header); create_center_Layout(); data_source.set_root(this); } void MainWindow::create_center_Layout() { center_layout = new QHBoxLayout(); navigate_bar = new Navigate_Bar(); center_layout->addWidget(navigate_bar, 1); center = new Center(); center_layout->addWidget(center, 4); main_layout->addSpacing(16); main_layout->addLayout(center_layout); static auto click = [this](导航_Dat* d) { if(std::holds_alternative<导航_Dat1>(d->data)){ auto& dd = std::get<导航_Dat1>(d->data); auto w = dd.widget; center->setWidget(dd.widget); header->set_title(dd.title, dd.detail); } }; navigate_bar->set_click(click); click(&navigate_bar->w->items[0]); } int main(int argc, char* argv[]) { QApplication app(argc, argv); QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8")); #ifdef _WINDOWS SetConsoleOutputCP(CP_UTF8); system("chcp 65001"); // setbuf(stdout, 0); #endif qRegisterMetaType<导航_Dat>("Dat"); MainWindow w; w.resize(1000, 700); w.show(); // svg/filter_1_24dp_5985E1_FILL0_wght400_GRAD0_opsz24.svg YSG::startAllRenderThread(); return QApplication::exec(); }