История изменений
Исправление next_time, (текущая версия) :
tnodir
slovazap минимальный нерабочий пример:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QTimer>
#include <QMenu>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
QMenu menu;
public:
MainWindow(QWidget *parent = nullptr);
QTimer timer, timer_for_window;
~MainWindow();
virtual void mousePressEvent(QMouseEvent *event) override;
public slots:
void switch_window_state();
void show_window_state();
void adjust_size();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
#include <QMouseEvent>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
connect(&timer, SIGNAL(timeout()), this, SLOT(show_window_state()));
timer.start(1000);
connect(menu.addAction("switch window state"), SIGNAL(triggered()), this, SLOT(switch_window_state()));
connect(&timer_for_window, SIGNAL(timeout()), this, SLOT(adjust_size()));
timer_for_window.start(400);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::adjust_size()
{
resize(100, 200);
}
void MainWindow::mousePressEvent(QMouseEvent *event)
{
if(event->type() != QMouseEvent::MouseButtonPress) return;
menu.exec(event->globalPos());
}
void MainWindow::switch_window_state()
{
auto flag = Qt::WindowMaximized;
bool is_window_maximized = this->windowState().testFlag(flag);
auto s = this->windowState();
qDebug()<<s<<is_window_maximized;
if(is_window_maximized)
setWindowState(windowState() & ~flag);
else
setWindowState(windowState() | flag);
}
void MainWindow::show_window_state()
{
qDebug()<<this->windowState();
}
Исправление next_time, :
tnodir
@slovozar минимальный нерабочий пример:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QTimer>
#include <QMenu>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
QMenu menu;
public:
MainWindow(QWidget *parent = nullptr);
QTimer timer, timer_for_window;
~MainWindow();
virtual void mousePressEvent(QMouseEvent *event) override;
public slots:
void switch_window_state();
void show_window_state();
void adjust_size();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
#include <QMouseEvent>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
connect(&timer, SIGNAL(timeout()), this, SLOT(show_window_state()));
timer.start(1000);
connect(menu.addAction("switch window state"), SIGNAL(triggered()), this, SLOT(switch_window_state()));
connect(&timer_for_window, SIGNAL(timeout()), this, SLOT(adjust_size()));
timer_for_window.start(400);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::adjust_size()
{
resize(100, 200);
}
void MainWindow::mousePressEvent(QMouseEvent *event)
{
if(event->type() != QMouseEvent::MouseButtonPress) return;
menu.exec(event->globalPos());
}
void MainWindow::switch_window_state()
{
auto flag = Qt::WindowMaximized;
bool is_window_maximized = this->windowState().testFlag(flag);
auto s = this->windowState();
qDebug()<<s<<is_window_maximized;
if(is_window_maximized)
setWindowState(windowState() & ~flag);
else
setWindowState(windowState() | flag);
}
void MainWindow::show_window_state()
{
qDebug()<<this->windowState();
}
Исходная версия next_time, :
минимальный нерабочий пример:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QTimer>
#include <QMenu>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
QMenu menu;
public:
MainWindow(QWidget *parent = nullptr);
QTimer timer, timer_for_window;
~MainWindow();
virtual void mousePressEvent(QMouseEvent *event) override;
public slots:
void switch_window_state();
void show_window_state();
void adjust_size();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
#include <QMouseEvent>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
connect(&timer, SIGNAL(timeout()), this, SLOT(show_window_state()));
timer.start(1000);
connect(menu.addAction("switch window state"), SIGNAL(triggered()), this, SLOT(switch_window_state()));
connect(&timer_for_window, SIGNAL(timeout()), this, SLOT(adjust_size()));
timer_for_window.start(400);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::adjust_size()
{
resize(100, 200);
}
void MainWindow::mousePressEvent(QMouseEvent *event)
{
if(event->type() != QMouseEvent::MouseButtonPress) return;
menu.exec(event->globalPos());
}
void MainWindow::switch_window_state()
{
auto flag = Qt::WindowMaximized;
bool is_window_maximized = this->windowState().testFlag(flag);
auto s = this->windowState();
qDebug()<<s<<is_window_maximized;
if(is_window_maximized)
setWindowState(windowState() & ~flag);
else
setWindowState(windowState() | flag);
}
void MainWindow::show_window_state()
{
qDebug()<<this->windowState();
}