Перенос окна
Вот по этой статье я пытался сделать так , что бы окно пересувалось, но у меня выдает дофига ошибок, помогите, что куда вписывать. Вот код заголовочного файла:
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QPoint> #include <QMainWindow> #include <QMessageBox> #include <QAction> #include <QToolBar> #include <QToolButton> #include <QDockWidget> #include <QLayout> #include <QMdiArea> #include <QMouseEvent> #include <QStandardItemModel> #include <QWidget> #include "stylehelper.h" namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); //slots for menuBar private slots: void s_file(){ QMessageBox msg; msg.setText("Action"); msg.exec(); } void exit(){ close(); } void f_fsm(){ if(this->isMaximized()){ this->showFullScreen(); }else{ this->showMaximized(); } } void about(){ QMessageBox msg; msg.setText("I say about this programe now!"); msg.exec(); } private: Ui::MainWindow *ui; //for toolBar(Add more toolBar) //oToolBar QToolBar *oToolBar; QToolButton *oToolButton; //tToolBar QToolBar *tToolBar; QToolButton *tToolButton; //mouse position }; #endif // MAINWINDOW_HА это реализация:
#include "mainwindow.h" #include "ui_mainwindow.h" #include <QStyle> #include <QtWidgets> #include <QToolBar> #include <QMenuBar> #include <QAction> #include <QtGui> #include <QLineEdit> #include <QLabel> #include <QWidget> #include <QTabBar> #include <QPushButton> #include <QMainWindow> #include <QToolBar> #include <QToolButton> #include <QIcon> #include <QDockWidget> #include <QLayout> #include <QStyle> #include <QStyleHints> #include <QGridLayout> #include <QFileDialog> #include <QDir> #include <QGraphicsDropShadowEffect> #include <QSizePolicy> #include <QSpacerItem> #include <QComboBox> #include "stylehelper.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); //setting UI this->setWindowFlags(Qt::FramelessWindowHint); this->setStyleSheet(StyleHelper::getWindowStyleSheet()); // QGridLayout *qgl = new QGridLayout(this); //close, maximize, minimize //close QPushButton *cls = new QPushButton(this); connect(cls, &QPushButton::clicked, this, &QWidget::close); cls->setStyleSheet(StyleHelper::getClsStyleSheet()); cls->setGeometry(cls->geometry().x() + 1000 ,cls->geometry().y() + 90, cls->width() - 53, cls->height() - 9); cls->setIcon(QIcon("url(/icon/project.png)")); qgl->addItem(new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding), 30, 0, 1, 2); qgl->addWidget(cls, 1, 0); qgl->addItem(new QSpacerItem(20, 40, QSizePolicy::Expanding, QSizePolicy::Minimum), 10, 10); ui->btn_close->setStyleSheet(StyleHelper::getCloseStyleSheet()); //maximize ui->btn_maximize->setStyleSheet(StyleHelper::getMaximizeStyleSheet()); //minimize ui->btn_minimize->setStyleSheet(StyleHelper::getMinimizeStyleSheet()); //connect close, maximize, minimize connect(ui->btn_minimize, &QToolButton::clicked, this, &QWidget::showMinimized); connect(ui->btn_maximize, &QToolButton::clicked, [this](){ if (this->isMaximized()) { ui->btn_maximize->setStyleSheet(StyleHelper::getMaximizeStyleSheet()); this->layout()->setMargin(9); this->showNormal(); } else { ui->btn_maximize->setStyleSheet(StyleHelper::getRestoreStyleSheet()); this->layout()->setMargin(0); this->showMaximized(); } }); connect(ui->btn_close, &QToolButton::clicked, this, &QWidget::close); //menuBar(Add more buttons) menuBar()->setStyleSheet(StyleHelper::getQMenuStyleSheet()); //file QToolButton *fileF = new QToolButton(); QMenu *file = menuBar()->addMenu(tr("File")); file->setStyleSheet(StyleHelper::getMenuBarStyleSheet()); //new QAction *newFile = new QAction (tr("New"),this); newFile->setShortcut(QKeySequence::New); connect(newFile,SIGNAL(triggered()),this,SLOT(s_file())); file->addAction(newFile); //open QAction *openFile = new QAction (tr("Open"),this); openFile->setShortcut(QKeySequence::Open); file->addAction(openFile); //open as QAction *openAsFile = new QAction (tr("Open as"),this); file->addAction(openAsFile); //the last document QAction *lastFile = new QAction (tr("The last document"),this); file->addAction(lastFile); file->addSeparator(); //save QAction *saveFile = new QAction (tr("Save"),this); saveFile->setShortcut(QKeySequence::Save); file->addAction(saveFile); //save as QAction *saveAsFile = new QAction (tr("Save as"),this); saveAsFile->setShortcut(QKeySequence::SaveAs); file->addAction(saveAsFile); //save all QAction *saveAllFile = new QAction (tr("Save all"),this); saveAllFile->setShortcut(Qt::CTRL + Qt::SHIFT + Qt::Key_S); file->addAction(saveAllFile); file->addSeparator(); //exit QAction *exitFile = new QAction (tr("Exit"),this); exitFile->setShortcut(Qt::CTRL+Qt::Key_Q); connect(exitFile,SIGNAL(triggered()),this,SLOT(exit())); file->addAction(exitFile); fileF->setMenu(file); //edit QToolButton *editF = new QToolButton(); QMenu *edit = menuBar()->addMenu(tr("&Edit")); edit->setStyleSheet(StyleHelper::getMenuBarStyleSheet()); //undo QAction *undoFile = new QAction (tr("Undo"),this); undoFile->setShortcut(Qt::CTRL+Qt::Key_Z); edit->addAction(undoFile); editF->setMenu(edit); //window // QToolButton *windowF = new QToolButton(this); QMenu *window = menuBar()->addMenu(tr("&Window")); window->setStyleSheet(StyleHelper::getMenuBarStyleSheet()); //full screen mode QAction *fsm = new QAction (tr("Full screen mode"),this); fsm->setShortcut(Qt::Key_F5); connect(fsm,SIGNAL(triggered()),this,SLOT(f_fsm())); window->addAction(fsm); windowF->setMenu(window); //reference QToolButton *referenceF = new QToolButton(); QMenu *reference = menuBar()->addMenu(tr("&Reference")); reference->setStyleSheet(StyleHelper::getMenuBarStyleSheet()); //About the program "Project" QAction *atp = new QAction (tr("About the program Project"),this); connect(atp,SIGNAL(triggered()),this,SLOT(about())); reference->addAction(atp); referenceF->setMenu(reference); //Header //toolBar(Add setting for toolBar) //oToolBar oToolBar = new QToolBar("First ToolBar"); oToolButton = new QToolButton(this); oToolButton->setIcon(QIcon("../../Синий.jpg")); oToolBar->addWidget(oToolButton); oToolBar->setStyleSheet(StyleHelper::getToolBStyleSheet()); addToolBar(oToolBar); //tToolBar tToolBar = new QToolBar("Second ToolBar"); tToolButton = new QToolButton(this); tToolButton->setIcon(QIcon("../../Красный.jpg")); tToolBar->addWidget(tToolButton); tToolBar->setStyleSheet(StyleHelper::getToolBStyleSheet()); addToolBar(tToolBar); } MainWindow::~MainWindow() { delete ui; }(Знаю, что громадный)
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.Вам это нравится? Поделитесь в социальных сетях!
Комментарии
Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Пожалуйста, авторизуйтесь или зарегистрируйтесь
AD
- Akiv Doros
- 11 ноября 2024 г. 14:58
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:50баллов,
- Очки рейтинга-4
m
- molni99
- 26 октября 2024 г. 1:37
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80баллов,
- Очки рейтинга4
m
- molni99
- 26 октября 2024 г. 1:29
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:20баллов,
- Очки рейтинга-10
Последние комментарии
Как написать игру на Qt - Урок 3. Взаимодействие с другими объектами what is priligy tablets What happens during the LASIK surgery process
Использование переменных объявленных в CMakeLists.txt внутри C++ файлов where can i buy priligy online safely Tom Platz How about things like we read about in the magazines like roid rage and does that really
Django - Урок 055. Как написать функционал auto populate field Freckles because of several brand names retin a, atralin buy generic priligy
QML - Урок 035. Использование перечислений в QML без C++ priligy cvs 24 Together with antibiotics such as amphotericin B 10, griseofulvin 11 and streptomycin 12, chloramphenicol 9 is in the World Health Organisation s List of Essential Medici…
Qt/C++ - Урок 052. Кастомизация Qt Аудио плеера в стиле AIMP It decreases stress, supports hormone balance, and regulates and increases blood flow to the reproductive organs buy priligy online safe Promising data were reported in a PDX model re…
Сейчас обсуждают на форуме
добавить qlineseries в функции Listen intently to what Jerry says about Conditional Acceptance because that s the bargaining chip in the song and dance you will have to engage in to protect yourself and your family from AMI S…
Всё ещё разбираюсь с кешем. priligy walgreens levitra dulcolax carbs The third ring was found to be made up of ultra relativistic electrons, which are also present in both the outer and inner rings
IscanderChe31 октября 2024 г. 15:43
Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…
ИМ
Реализация навигации по разделам Спасибо Евгений!
Игорь Максимов3 октября 2024 г. 4:05
Вот по этой статье (Чет не прицепилось)
Весь проект в таком случае прикреплять надо. Там до чёртиков включений посторонних файлов. Если бы всё что там было написано, было только в составе класса MainWindow, тогда лады, а так там StyleHelper, ресурсные файлы и т.д. А так, что Вам тут подсказывать? Какие ошибки выпадают Вы не привели. Скопипастить в свой проект и запустить компиляцию? А толку-то? Первое, на что сругается компилятор - это будет отсутствие заголовочного файла stylehelper.h, который явно не является причиной ваших ошибок. Удалять всё, что не включено? Опять же никакого толку. Ну удалю я лишнее, сделаю рабочий вариант класса, но у вас всё равно опыта не хватит, чтобы внедрить это к себе в проект.