На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела *nix / gcc / Eclipse / Qt / wxWidgets / GTK+
  • При создании темы ОБЯЗАТЕЛЬНО указывайте версию тулкита / библиотеки / компилятора.
  • Перед тем как задать вопрос, сформулируйте его правильно, чтобы вас могли понять.
  • Нарушение Правил может повлечь наказание со стороны модераторов.


Полезные ссылки:
user posted image Boost по-русски
user posted image Qt по-русски
Модераторы: archimed7592
  
> Qt пользовательское событие
    Есть класс производный от QThread в нем нужно создать функцию куда бы приходило событие WM_USER, я правильно понимаю, что надо создать QEvent, например так
    описанный

    ExpandedWrap disabled
      #include <QtCore/QObject>
      #include <QEvent>
       
      class MyEvent : public QObject, public QEvent
      {
      public:
          MyEvent() : QEvent((QEvent::Type)(QEvent::User + 1))
          {
          registeredType();
          eventType = QEvent::None;
          }
          Q_OBJECT
          QEvent::Type eventType;
       
      private:
          QEvent::Type registeredType()
          {
          if (eventType == QEvent::None)
              {
                  int generatedType = QEvent::registerEventType();
                  eventType = static_cast<QEvent::Type>(generatedType);
              }
          return eventType;
          }
      };


    потом QCoreApplication::postEvent(..)

    И создать обработчик что-то типа

    bool event(QEvent *pe)
    {

    if(pe->type() == myevent.type())
    {
    retun MyFunc(..)
    }
    return QThread::event(pe);
    }

    Как проще?
      ну вроде здесь неплохо описано:
      http://qt-doc.ru/svyaz-mezhdu-potokami-vysylka-sobytij.html
      Цитата ter_nk_ @
      Есть класс производный от QThread

      хм, прошлый век так-то... нынче модно moveToThread или boost/std::thread
        Спасибо, разбираюсь!
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0184 ]   [ 16 queries used ]   [ Generated: 27.04.24, 18:57 GMT ]