Перенос окна
Вот по этой статье я пытался сделать так , что бы окно пересувалось, но у меня выдает дофига ошибок, помогите, что куда вписывать. Вот код заголовочного файла:
#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; }(Знаю, что громадный)
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.Do you like it? Share on social networks!
AD
- Akiv Doros
- Nov. 12, 2024, 1:58 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:50points,
- Rating points-4
m
- molni99
- Oct. 26, 2024, 11:37 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:80points,
- Rating points4
m
- molni99
- Oct. 26, 2024, 11:29 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:20points,
- Rating points-10
Last comments
Evgenii LegotckoiNov. 1, 2024, 12:37 a.m.
Fb3 file reader on Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Django - Lesson 064. How to write a Python Markdown extension Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
Игорь МаксимовOct. 5, 2024, 5:51 p.m.
QML - Lesson 016. SQLite database and the working with it in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Qt Linux - Lesson 001. Autorun Qt application under Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
Now discuss on the forum
Evgenii LegotckoiJune 25, 2024, 1:11 a.m.
t
google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
tonypeachey1Nov. 15, 2024, 5:04 p.m.
NSProjectJune 4, 2022, 1:49 p.m.
IscanderCheNov. 1, 2024, 1:43 a.m.
Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…
Вот по этой статье (Чет не прицепилось)
Весь проект в таком случае прикреплять надо. Там до чёртиков включений посторонних файлов. Если бы всё что там было написано, было только в составе класса MainWindow, тогда лады, а так там StyleHelper, ресурсные файлы и т.д. А так, что Вам тут подсказывать? Какие ошибки выпадают Вы не привели. Скопипастить в свой проект и запустить компиляцию? А толку-то? Первое, на что сругается компилятор - это будет отсутствие заголовочного файла stylehelper.h, который явно не является причиной ваших ошибок. Удалять всё, что не включено? Опять же никакого толку. Ну удалю я лишнее, сделаю рабочий вариант класса, но у вас всё равно опыта не хватит, чтобы внедрить это к себе в проект.