paranid5

MainWindow

Dec 13th, 2020 (edited)
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.81 KB | None | 0 0
  1. #include "mainwindow.h"
  2. #include <QApplication>
  3. #include <QPushButton>
  4. #include <QLabel>
  5. #include <QFont>
  6. #include <QWidget>
  7. #include <QPalette>
  8. #include <QScreen>
  9.  
  10. int main(int argc, char** argv)
  11. {
  12.     QApplication a(argc, argv);
  13.     const auto size = a.screens().first()->geometry();
  14.  
  15.     auto* mainMenu = new MainWindow;
  16.     mainMenu->setWindowState(Qt::WindowMaximized);
  17.     mainMenu->setFixedSize(QSize(size.width(), size.height()));
  18.  
  19.     auto* readerMenu = new QWidget;
  20.     readerMenu->setWindowState(Qt::WindowMaximized);
  21.     readerMenu->setFixedSize(QSize(size.width(), size.height()));
  22.     readerMenu->close();
  23.  
  24.     auto* bookMenu = new QWidget;
  25.     bookMenu->setWindowState(Qt::WindowMaximized);
  26.     bookMenu->setFixedSize(QSize(size.width(), size.height()));
  27.     bookMenu->close();
  28.  
  29.     auto* buttonsFont = new QFont("SansSerif", 16, QFont::Cursive);
  30.     buttonsFont->setItalic(true);
  31.     buttonsFont->setBold(true);
  32.  
  33.     auto* helloFont = new QFont("Calibri", 20);
  34.     helloFont->setItalic(true);
  35.     helloFont->setBold(true);
  36.     helloFont->setUnderline(true);
  37.  
  38.     auto* palette = new QPalette;
  39.     palette->setColor(QPalette::Background, Qt::yellow);
  40.  
  41.     readerMenu->setAutoFillBackground(true);
  42.     readerMenu->setPalette(*palette);
  43.  
  44.     bookMenu->setAutoFillBackground(true);
  45.     bookMenu->setPalette(*palette);
  46.  
  47.     mainMenu->setAutoFillBackground(true);
  48.     mainMenu->setPalette(*palette);
  49.  
  50.     //-------------------------------------------------------------------------------------------------
  51.     //                                  Main Menu costumization
  52.     //-------------------------------------------------------------------------------------------------
  53.  
  54.     auto* mainMenuHello = new QLabel("LIBRARY INTERFACE", mainMenu);
  55.     mainMenuHello->setGeometry(size.width() / 2 - size.width() / 25,
  56.                                size.height() / 2 - size.height() / 5,
  57.                                size.height() / 2, size.height() / 20);
  58.     mainMenuHello->setFont(*helloFont);
  59.  
  60.     auto* mainMenuReadButton = new QPushButton("Readers", mainMenu);
  61.     mainMenuReadButton->setGeometry(size.width() / 2 - size.width() / 8,
  62.                                     size.height() / 2 - size.height() / 5 + size.width() / 18,
  63.                                     size.height() / 2, size.height() / 20);
  64.     mainMenuReadButton->setFont(*buttonsFont);
  65.  
  66.     auto* mainMenuBookButton = new QPushButton("Books", mainMenu);
  67.     mainMenuBookButton->setGeometry(size.width() / 2 - size.width() / 8,
  68.                                     size.height() / 2 - size.height() / 5 + 2 * size.width() / 18,
  69.                                     size.height() / 2, size.height() / 20);
  70.     mainMenuBookButton->setFont(*buttonsFont);
  71.  
  72.     auto* mainMenuExitButton = new QPushButton("Exit", mainMenu);
  73.     mainMenuExitButton->setGeometry(size.width() / 2 - size.width() / 8,
  74.                                     size.height() / 2 - size.height() / 5 + 3 * size.width() / 18,
  75.                                     size.height() / 2, size.height() / 20);
  76.     mainMenuExitButton->setFont(*buttonsFont);
  77.  
  78.     QObject::connect(mainMenuExitButton, SIGNAL(pressed()), mainMenu, SLOT(close()));
  79.     QObject::connect(mainMenuReadButton, SIGNAL(pressed()), readerMenu, SLOT(show()));
  80.     QObject::connect(mainMenuReadButton, SIGNAL(pressed()), mainMenu, SLOT(hide()));
  81.     QObject::connect(mainMenuBookButton, SIGNAL(pressed()), bookMenu, SLOT(show()));
  82.     QObject::connect(mainMenuBookButton, SIGNAL(pressed()), mainMenu, SLOT(hide()));
  83.  
  84.     //-------------------------------------------------------------------------------------------------
  85.     //                              Reading Menu costumization
  86.     //-------------------------------------------------------------------------------------------------
  87.  
  88.     auto* readerMenuHello = new QLabel("READING MENU", readerMenu);
  89.     readerMenuHello->setGeometry(size.width() / 2 - size.width() / 35,
  90.                                  size.height() / 2 - size.height() / 5,
  91.                                  size.height() / 2, size.height() / 20);
  92.     readerMenuHello->setFont(*helloFont);
  93.  
  94.     auto* readerMenuExitButton = new QPushButton("Exit", readerMenu);
  95.     readerMenuExitButton->setGeometry(size.width() / 2 - size.width() / 8,
  96.                                       size.height() / 2 - size.height() / 5 + size.width() / 18,
  97.                                       size.height() / 2, size.height() / 20);
  98.     readerMenuExitButton->setFont(*buttonsFont);
  99.  
  100.     QObject::connect(readerMenuExitButton, SIGNAL(pressed()), mainMenu, SLOT(show()));
  101.     QObject::connect(readerMenuExitButton, SIGNAL(pressed()), readerMenu, SLOT(close()));
  102.  
  103.     //-------------------------------------------------------------------------------------------------
  104.     //                              Books Menu costumization
  105.     //-------------------------------------------------------------------------------------------------
  106.  
  107.     auto* bookMenuHello = new QLabel("BOOKS MENU", bookMenu);
  108.     bookMenuHello->setGeometry(size.width() / 2 - size.width() / 55,
  109.                                size.height() / 2 - size.height() / 5,
  110.                                size.height() / 2, size.height() / 20);
  111.     bookMenuHello->setFont(*helloFont);
  112.  
  113.     auto* bookMenuExitButton = new QPushButton("Exit", bookMenu);
  114.     bookMenuExitButton->setGeometry(size.width() / 2 - size.width() / 8,
  115.                                     size.height() / 2 - size.height() / 5 + size.width() / 18,
  116.                                     size.height() / 2, size.height() / 20);
  117.     bookMenuExitButton->setFont(*buttonsFont);
  118.  
  119.     QObject::connect(bookMenuExitButton, SIGNAL(pressed()), mainMenu, SLOT(show()));
  120.     QObject::connect(bookMenuExitButton, SIGNAL(pressed()), bookMenu, SLOT(close()));
  121.  
  122.     mainMenu->show();
  123.     return a.exec();
  124. }
  125.  
Add Comment
Please, Sign In to add comment