Глава 60 – Qt Quick и C++

Qt Quick и C++

Приобрести книгу можно на сайте ozon.ru и в электронном виде на Google Play:
Приобрести книгу о Qt и C++ на Ozon.ru Купить книгу о Qt и C++ на Goole Play

6 thoughts on “Глава 60 – Qt Quick и C++

  1. Здравствуйте, Макс. Зачем листинге 60.6 используется QQmlComponent?
    QT Creator создает код:
    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral(“qrc:/main.qml”)));
    и из engine.rootObjects() мы получаем ссылку на корневой элемент без использования дополнительных классов.

    1. Антон, да в качестве альтернативы можно обойтись и без QQmlComponent. Тогда код программы будет следующим:
      #include
      #include
      #include “CppConnection.h”

      // ———————————————————————-
      int main(int argc, char** argv)
      {
      QGuiApplication app(argc,argv);
      QQmlApplicationEngine eng;
      eng.load(QUrl(“qrc:/main.qml”));
      CppConnection cc;

      QObject* pobj = eng.rootObjects().first();
      QObject* pcmdQuitButton = pobj->findChild(“QuitButton”);
      if (pcmdQuitButton) {
      QObject::connect(pcmdQuitButton, SIGNAL(quitClicked()),
      &cc, SLOT(slotQuit())
      );
      }
      QObject* pcmdInfoButton = pobj->findChild
      (“InfoButton”);
      if (pcmdInfoButton) {
      QObject::connect(pcmdInfoButton, SIGNAL(infoClicked(QString)),
      &cc, SLOT(slotInfo(QString))
      );
      }

      return app.exec();
      }

  2. Листинг 60.7:
    QMessageBox::information(0, “Message”, “It’s my message”);
    Должно быть:
    QMessageBox::information(this, “Message”, “It’s my message”);
    Иначе при нажатии на список программа вместе с MessageBox теряет фокус и уходит в background.

    btw. Макс, есть возможность получить электронный макет книги? Я сначала пользовался сканом, потом купил в озоне бумажную копию, но читать в электронном виде мне все равно удобнее. В том числе потому, что качество издания (бумага) оставляет желать лучшего.

Добавить комментарий