Size: a a a

2021 July 09

v

vyacheslav@deepin:~$ in Qt
источник

v

vyacheslav@deepin:~$ in Qt
Там класс animalmodel
источник

L

LaRusCat in Qt
Если что мне не нужно создавать ни вью ни рипитер.
просто считать данные
посмотрю повнимательней. может там это есть.
источник

v

vyacheslav@deepin:~$ in Qt
Открой страницу и сделай поиск по странице animalmodel
источник

v

vyacheslav@deepin:~$ in Qt
Это все что тебе нужно
источник

v

vyacheslav@deepin:~$ in Qt
Абстрактная модель
источник

v

vyacheslav@deepin:~$ in Qt
Можешь прокинуть через контекст если так удобнее
источник

П

Пашечка in Qt
Hig'и как правило существуют в конкретном окружении. У того же гнома тоже гайдлайны есть, емнип, и они отличаются.
источник

МК

Мгер Карапетян... in Qt
Делаю класс Worker для потока. Как сделать проверку, на остановку? нужно внутри долгой ф-ции вызвать QEventLoop::processEvents?
Условный код:
// h file
class Worker : public QObject {
   Q_OBJECT
public slots:
   void start();
   void stop();

signals:
   void started();
   void progress(double p);
   void finished();

private:
   bool _stop = false;
};

// cpp file
void Worker::start() {
   QEventLoop el;
   while(true) {
       if (_stop) {
           break;
       }
       el.processEvents();
   }
}

void Worker::stop() {
   _stop = true;
}
источник

SE

Suigintou45 E14 in Qt
processEvents - статический метод. не нужно el объявлять так
источник

МК

Мгер Карапетян... in Qt
а, ок) а в остальном правильно?)
источник

МК

Мгер Карапетян... in Qt
вроде не статик
источник

МВ

Макс Воробьев... in Qt
источник

МК

Мгер Карапетян... in Qt
спасиб))
источник
2021 July 10

T

Tamer in Qt
Аналогичная ситуация, ждёмс
источник

FS

Flower Surgeon in Qt
А у кого-нибудь был опыт скрещивания GStreamer и QML через qmlglsink на Windows? Есть вопросы.
источник

МК

Мгер Карапетян... in Qt
источник

МК

Мгер Карапетян... in Qt
Подскажите как прерывать выполнение потока QThread? У меня сейчас вылетает в деструкторе.
// h file
class Worker : public QObject {
   Q_OBJECT
public:
   Worker();
   virtual ~Worker();
public slots:
   void start();
   void stop();

signals:
   void started();
   void progress(double p);
   void finished();

private:
   bool _stop = false;
};

// cpp file

Worker::~Worker() {
   qDebug() << __PRETTY_FUNCTION__;
}

void Worker::start() {
   while(true) {
       if (_stop) {
           break;
       }
       QCoreApplication::processEvents();
   }
}

void Worker::stop() {
   _stop = true;
}

// main
int main() {
   Worker w;
       QObject::connect(&w, &Worker::started, [] {
       qDebug() << "started";
   });
   QObject::connect(&w, &Worker::progress, [] (double p) {
       qDebug() << "progress" << p;
   });
   QObject::connect(&w, &Worker::finished, [] {
       qDebug() << "finished";
   });
   QThread *th = new QThread();
   w.moveToThread(th);

   QObject::connect(th, &QThread::started, &w, &Worker::start);
   QObject::connect(th, &QThread::finished, [] {
       qDebug() << "th.finished";
   });
//    QObject::connect(&w, &Worker::finished, &th, &QThread::quit);
//    QObject::connect(th, &QThread::finished, &w, &Worker::stop);
   QObject::connect(th, &QThread::finished, &w, &QObject::deleteLater);
   QObject::connect(th, &QThread::finished, th, &QThread::deleteLater);
   th->start();
   QThread::usleep(10);
   th->terminate();
   th->wait();
   return 0;
}
источник

AU

Abu Umar in Qt
А зачем у вас _stop если вы его не используете?
finished -> stop коннект смысла не имеет. Вызываетe stop и поток завершится
источник

МК

Мгер Карапетян... in Qt
я же _stop использую для выхода из start()
источник