LINUX.ORG.RU

История изменений

Исправление kuzulis, (текущая версия) :

Не, неверно. Это только виндовая «фича» такая.

Это не только к QSP относится, даже QTimer останавливается:

#include "dialog.h"
#include "ui_dialog.h"

#include <QTimer>
#include <QDateTime>
#include <QDebug>

Dialog::Dialog(QWidget *parent) :
    QDialog(parent)
{
    const auto t = new QTimer(this);
    connect(t, &QTimer::timeout, [this]() {
        qDebug() << QDateTime::currentDateTime();
    });
    t->start(1000);
}

Если кликнуть правой клавишей мыши на заголовке окна и держать.

Так что надо всЁ через moveToThread() мувить, чтобы не обделаться. :)

PS: То-ли это винда кривая, то-ли касяк в Qt event loop.

Исправление kuzulis, :

Не, неверно. Это только виндовая «фича» такая.

Это не только к QSP относится, даже QTimer останавливается:

#include "dialog.h"
#include "ui_dialog.h"

#include <QTimer>
#include <QDateTime>
#include <QDebug>

Dialog::Dialog(QWidget *parent) :
    QDialog(parent)
{
    const auto t = new QTimer(this);
    connect(t, &QTimer::timeout, [this]() {
        qDebug() << QDateTime::currentDateTime();
    });
    t->start(1000);
}

Если кликнуть правой клавишей мыши на заголовке окна и держать.

Так что надо всЁ через moveToThread() мувить, чтобы не обделаться. :)

Исправление kuzulis, :

Не, неверно. Это только виндовая «фича» такая.

Это не только к QSP относится, даже QTimer останавливается:

#include "dialog.h"
#include "ui_dialog.h"

#include <QTimer>
#include <QDateTime>
#include <QDebug>

Dialog::Dialog(QWidget *parent) :
    QDialog(parent)
{
    const auto t = new QTimer(this);
    connect(t, &QTimer::timeout, [this]() {
        qDebug() << QDateTime::currentDateTime();
    });
    t->start(1000);
}

Если кликнуть правой клавишей мыши на заголовке окна и держать.

Исходная версия kuzulis, :

Не, неверно. Это только виндовая «фича» такая.

Это не только к QSP относится, даже QTimer останавливается:

#include "dialog.h"
#include "ui_dialog.h"

#include <QTimer>
#include <QDateTime>
#include <QDebug>

Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    ui->setupUi(this);

    const auto t = new QTimer(this);
    connect(t, &QTimer::timeout, [this]() {
        qDebug() << QDateTime::currentDateTime();
    });
    t->start(1000);
}

Dialog::~Dialog()
{
    delete ui;
}

Если кликнуть правой клавишей мыши на заголовке окна и держать.