-1

私はQtWorldを初めて使用
します)MSVC 2008で新しいQtアプリケーションを作成しました
。QtCreatorを使用して、必要なコントロールを追加しました。そのうちの1つはQMenuBarです。CallBack
(C#)と同等の機能はQtのスロットです。
QtCreatorを使用してQMenuのカスタムスロットを作成する方法についての情報が見つかりませんでした。

4

1 に答える 1

1
  1. QMenuBarをサブクラス化し、必要に応じて新しいクラスを呼び出します(例:FancyMenuBar
  2. Q_OBJECTfancymenubar.hのクラス定義(詳細はグーグル)にマクロを追加します。
  3. クラス定義に行を追加します。たとえば、とpublic slots:の間のどこかに行を追加します。public:private:
  4. その行の下にスロット定義を追加します(例:void fancySlot();
  5. スロット定義を実装します。例:

(fancymenubar.cpp内)

void FancyMenuBar::fancySlot()
{
    // type code here
}

これで、関数を介してスロットをQObject::connect()使用したり、通常のパブリック関数であるかのようにスロットを使用したりできます。

于 2012-08-07T18:07:12.907 に答える