QApplication


QApplication類管理GUI應用程序的控制流和主要設置。

QApplication專門為qgui應用程序提供基於QWidget的應用程序所需的一些功能。它處理特定於小部件的初始化、終結。

對於任何使用Qt的GUI應用程序,無論應用程序在任何給定時間是否有0、1、2或更多窗口,都只有一個QApplication對象。對於非基於QWidget的Qt應用程序,請改用QGuiApplication,因為它不依賴於qtwidts庫。

一些GUI應用程序提供了一種特殊的批處理模式,即提供用於執行任務的命令行參數,而無需手動干預。在這種非GUI模式下,實例化一個普通的QCoreApplication就足夠了,以避免不必要地初始化圖形用戶界面所需的資源。下面的示例演示如何動態創建適當類型的應用程序實例:

 

 QCoreApplication* createApplication(int &argc, char *argv[])
  {
      for (int i = 1; i < argc; ++i)
          if (!qstrcmp(argv[i], "-no-gui"))
              return new QCoreApplication(argc, argv);
      return new QApplication(argc, argv);
  }

  int main(int argc, char* argv[])
  {
      QScopedPointer<QCoreApplication> app(createApplication(argc, argv));

      if (qobject_cast<QApplication *>(app.data())) {
         // start GUI version...
      } else {
         // start non-GUI version...
      }

      return app->exec();
  }

 

 

 

 

 

 

########################

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM