QTデフォルトの初期化手順は、同じ名前を持つメインウィンドウ

自動的に生成されたメインフォーム(メインウィンドウには)、以下のファイルがあります。

観察力の鋭い人は、名前空間宣言があり、ヘッダファイルにあります

 

名前空間 宇井 {

クラス メインウィンドウ

}

これは次のようにメインフォームと同じ名前のカスタムクラスメインフォームのクラスです。

クラスの メインウィンドウ  公共 QMainWindow

{

...

プライベート

    宇井:: メインウィンドウ * UI ; //ここではそれがメインウィンドウすでに上記と指摘したUI定義されたクラス。ここだけで同じ名前。

 

}

 

しかし、彼らはすべての二つの異なるものですが、少し特別なタッチ。右最初にメイン・ウィンドウクラスの機能を実装し、以下のように、:

 

名前空間  宇井  {

    クラス  メインウィンドウ 公共  Ui_MainWindow  {}。

}  //  名前空間の 宇井

 

このコードの#include  「ui_mainwindow.h」ヘッダファイル。Ui_MainWindowクラス定義は、それがメインウィンドウに継承されているメンバ関数setupUiを持って、このファイルでもあります。setupUi初期化関数は、キー嘘です。これは、関数の引数に渡されたパラメータが処理されますしています。以下に示すように、それはフォームのクラスのサイズ、ツールバー、初期セットアップメニューバーを通過しました。

   setupUi QMainWindow  *メインウィンドウ

    {

        もし メインウィンドウ- >のobjectName 。()のisEmpty ())

            メインウィンドウ- > setObjectName QStringLiteral "メインウィンドウ" ));

        メインウィンドウ- >リサイズ400  300 )。

        menuBar  =  新しい  QMenuBar メインウィンドウ)。

        menuBar - > setObjectName QStringLiteral "のmenuBar" ));

        メインウィンドウ- > setMenuBar のmenuBar )。

        mainToolBar  =  新しい  QToolBar メインウィンドウ)。

        mainToolBar - > setObjectName QStringLiteral "mainToolBar" ));

...

戻る私たちのクラスのカスタムのクラスの メインウィンドウ  公共 QMainWindow 自動的に生成され、それにシステムコンストラクタは、最初の作成のUI メインウィンドウをすることによって setupUiを通過メインフォームオブジェクトを初期化します。次のように:

メインウィンドウ::メインウィンドウ(QWidgetの *親) 

    QMainWindow (親)、

    UI 新しい新しい 宇井:: メインウィンドウは)//新しい、初期化メンバオブジェクトを作成します。

{

    UI - > setupUi この); //で setupUi 機能は、着信カスタムクラスのメインフォームを初期化します

}

最後に、新しいのデストラクタのUI メインウィンドウ型オブジェクトのUIリリースメモリ。

メインウィンドウ::〜メインウィンドウ()

{

    削除 UIを

}

 

おすすめ

転載: blog.csdn.net/sme000/article/details/91047175