// // Created by HW on 2023/07/26. // // You may need to build the project (run Qt uic code generator) to get "ui_MainWindowLagout.h" resolved #include "mainwindowlayout.h" #include "ui_MainWindowLayout.h" #include "mysettingsdialog.h" #include "netio.h" #include "sqlitehelper.h" MainWindowLayout::MainWindowLayout(QWidget *parent) : QWidget(parent), ui(new Ui::MainWindowLayout) { ui->setupUi(this); setContentsMargins(0, 0, 0, 0); layout=new QVBoxLayout(this); mainWindowLayout = this; QList list; mainScreen = new MainScreen(this); navBar=new NavBar(mainScreen,this); navBar->setMinimumHeight(0); navBar->setMaximumHeight(this->height() / 8); mainScreen->setMinimumHeight(0); //navBar->setAttribute(Qt::WA_DeleteOnClose); //QSizePolicy sizePolicy(QSizePolicy::Policy::Fixed, QSizePolicy::QSizePolicy::Fixed); //navBar->setSizePolicy(sizePolicy); //layout->setContentsMargins(0, 0, 0, 0); layout->addWidget(navBar,1); layout->addWidget(mainScreen,7); layout->setMargin(0); setLayout(layout); connect(this,&MainWindowLayout::clickButton1,mainScreen,&MainScreen::clickButton1); } MainWindowLayout::~MainWindowLayout() { layout->removeWidget(mainScreen); layout->removeWidget(navBar); delete mainScreen; //delete[] list[0]; delete navBar; delete layout; delete ui; } void MainWindowLayout::resizeEvent(QResizeEvent *event) { QWidget::resizeEvent(event); navBar->setMaximumHeight(event->size().height()/8); //layout->setAlignment(Qt::AlignmentFlag::AlignHCenter); } void MainWindowLayout::clickButton(QString op, QString func, QString url,QString path,QString initial_position) { QString root_path = QApplication::applicationDirPath(); if(op=="app") { if(func=="openwechat") { emit clickButton1("openwechat", url); }else { path = root_path + path; path.replace("/", "\\"); WinExec(path.toStdString().c_str(), SW_SHOW); emit clickButton1(op, url); } } else if (op == "self") { if(func=="settings") { MySettingsDialog* settings = new MySettingsDialog; settings->exec(); delete settings; } else { emit clickButton1(func, url); } } else if(op=="soft"){ ShellExecute(GetDesktopWindow(), L"open",path.toStdWString().c_str(),L"",initial_position.toStdWString().c_str(),SW_SHOW); emit clickButton1(op, url); }else { emit clickButton1(op, url); } } MainWindowLayout *mainWindowLayout;