2. 最初の Qt プログラムを作成する

2.1 ウィザードを使用して作成する

Qt Creatorインターフェイスを開き、新しいプロジェクトを選択するか、メニューバーの[ファイル]-[新しいファイルまたはプロジェクト]メニュー項目を選択します。

[新しいプロジェクト]ダイアログ ボックスが表示されるので、[Qt Widgets Application]を選択します。

[選択]ボタンを選択すると、以下のダイアログボックスが表示されます。

プロジェクト名とパスを設定し、ウィザードに従って次のステップに進みます。

初心者は qmake を選択して「次へ」をクリックするだけです。

ウィザードはデフォルトで CMainWindow から継承したクラスを追加します。クラスの名前と基本クラスはここで変更できます。デフォルトの基本クラスは QMainWindow、QWidget、QDialog です。QWidget (空のウィンドウに似ています) を選択できます。ここでは、最初に UI なしのインターフェイスを作成し、次のステップに進みます。

言語として中国語を選択します、次のステップ

コンパイル パッケージを Desktop Qt 5.14.2 MinGW 32 ビットとして選択します、次のステップ

システムはデフォルトで main.cpp、mywidget.cpp、mywidget.h および .pro プロジェクト ファイルを追加します。[完了] をクリックして Qt デスクトップ プログラムを作成します。


2.2マニュアルの作成

空のプロジェクトを追加する

[選択]を選択して次のステップに進みます。プロジェクト名とパスを設定—>コンパイルパッケージを選択—>クラス情報を変更—>完了(上記と同じ)し、空のプロジェクトを生成します。

空のプロジェクトにファイルを追加する: プロジェクト名を右クリックして右クリック メニューを表示し、[新しいファイルの追加]を選択します。

新しいファイルダイアログボックスが表示されます

このダイアログ ボックスで、追加するクラスまたはファイルを選択し、ウィザードに従ってファイルの追加を完了します。


2.3 .proファイル_

Qt ウィザードを使用して生成されたアプリケーションの .pro ファイル形式は次のとおりです。

QT       += core gui//包含的模块

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets //大于Qt4版本 才包含widget模块

CONFIG += c++11//C++语言标准

# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

SOURCES += \//源文件
    main.cpp \
    mywidget.cpp

HEADERS += \ //头文件
    mywidget.h

.pro はプロジェクト ファイルで、makefile を生成するために qmake によって自動的に生成される構成ファイルです.pro ファイルは次のように記述されます。

  • コメント

「#」で始まり、この行で終わります。

  • テンプレート変数は、このアプリケーションに対してどのような種類の Makefile を生成するかを qmake に指示します。使用可能なオプションは次のとおりです: TEMPLATE = app
    • n app - アプリケーションのメイクファイルを作成します。これはデフォルト値であるため、テンプレートが指定されていない場合はこれが使用されます。
    • n lib - ライブラリを構築する Makefile。
    • n vcapp - アプリケーションの Visual Studio プロジェクト ファイルを作成します。
    • n vclib - ライブラリ VisualStudio プロジェクト ファイルを作成します。
    • n subdirs - これは、特定のディレクトリに移動し、プロジェクト ファイルのメイクファイルを生成し、それに対して make を呼び出すメイクファイルを作成する特別なテンプレートです。
  • #生成されたアプリケーション名を指定します:

ターゲット= QtDemo

  • #プロジェクトに含まれるヘッダー ファイル

HEADERS += include/painter.h

  • プロジェクトに含まれる #.ui デザイン ファイル

FORMS += フォーム/painter.ui

  • #プロジェクトに含まれるソースファイル

SOURCES += ソース/main.cpp ソース

  • #プロジェクトに含まれるリソースファイル

リソース+= qrc/painter.qrc

  • l greatThan(QT_MAJOR_VERSION, 4): QT += ウィジェット

このステートメントの意味は、 QT_MAJOR_VERSIONが 4 より大きい場合(つまり、現在使用されているQt5以降のバージョン)、ウィジェット モジュールを追加する必要があるということですプロジェクトがQt5のみをサポートする必要がある場合は「QT += ウィジェット」という文を直接追加することもできます。ただし、コードの互換性を維持するには、 QtCreator によって生成されたステートメントに従って記述するのが最善です。

  • #構成情報

CONFIG は、アプリケーションの構成情報を qmake に伝えるために使用されます。

CONFIG += c++11 //c++11 の機能を使用する

ここで「+=」が使用されているのは、構成オプションを既存の構成オプションに追加するためです。これは、指定されたすべてのオプションを置き換える「=」を使用するよりも安全です。


2.4. 最も単純な Qt アプリケーション

メインエントリー機能内

#include "mywidget.h"

#include <QApplication>//包含一个应用程序类的头文件
#include <QLocale>
#include <QTranslator>

//main程序入口  argc命令行变量的数量  argv命令行变量的数组
int main(int argc, char *argv[])
{
    //a应用程序对象,在Qt中,应用程序对象 有且仅有一个
    QApplication a(argc, argv);

    QTranslator translator;
    const QStringList uiLanguages = QLocale::system().uiLanguages();
    for (const QString &locale : uiLanguages) {
        const QString baseName = "01Project_" + QLocale(locale).name();
        if (translator.load(":/i18n/" + baseName)) {
            a.installTranslator(&translator);
            break;
        }
    }
    //窗口对象  myWidget父类  ->  QWidget
    myWidget w;
    //窗口对象 默认不会显示 =,必须调用show方法显示窗口
    w.show();

    //让应用程序对象进入消息循环(窗口不会一闪而过)
    //当代码阻塞到这行
    return a.exec();
}
  • Qt システムによって提供される標準のクラス名宣言ヘッダー ファイルには、.h 接尾辞がありません。
  • Qt クラスはヘッダー ファイルに対応し、クラス名はヘッダー ファイルの名前になります。
  • QApplication アプリケーションクラス
    • グラフィカル ユーザー インターフェイス アプリケーションの制御フローと主な設定を管理します。
    • これは Qt のバックグラウンド管理全体の生命線であり、ウィンドウ システムやその他のリソースからのすべてのイベントが処理およびディスパッチされるメイン イベント ループが含まれていますまた、アプリケーションの初期化と終了も処理し、セッション管理も提供します
    • Qt を使用するグラフィカル ユーザー インターフェイス アプリケーションには、アプリケーションに同時に 0、1、2、またはそれ以上のウィンドウがあるかどうかに関係なく、QApplication オブジェクトが 1 つだけ存在します。
  • a.exec()

プログラムはメッセージ ループに入り、ユーザー入力に対する応答を待ちます。ここで、main() は制御を Qt に渡し、Qt はイベント処理を完了し、アプリケーションが終了すると exec() の値が返されます。exec() では、Qt はユーザー イベントとシステム イベントを受け入れて処理し、それらを適切なウィジェットに渡します。

要約:

  • QApplication アプリケーションオブジェクトは 1 つだけあります
  • myWidget w; ウィンドウオブジェクトをインスタンス化する
  • w.show() は show 関数を呼び出してウィンドウを表示します。
  • return a.exec() を使用すると、アプリケーション オブジェクトがメッセージ ループ メカニズムに入ることができ、コードが現在の行にブロックされます。

2.5. 拡張機能: QT でよく使用されるショートカット キー

//命名规范
//类名 首字母大写,单词和单词之间首字母大写
//函数名 变量名称 首字母小写,单词和单词之间首字母大写

//快捷键
//注释 ctrl + /
//运行 ctrl + r
//编译 ctrl + b
//字体缩放 ctrl + 鼠标滚轮
//查找 ctrl + f
//整行移动 ctrl + shift + ↑ 或者 ↓
//帮助文档 F1
//自动对齐 ctrl + i
//同名之间的.h和.cpp切换  F4

//帮助文档 第一种方式F1  
第二种方式 左侧按键  
第三种方式F:\Program_files\Qt5.14.2\5.14.2\mingw73_32\bin

おすすめ

転載: blog.csdn.net/qq_63388834/article/details/134997241
おすすめ