4

Meego Touch Frameworkを使用する場合、標準MApplicationWindowには共通のナビゲーションバー(スイッチャー、メニュー、および閉じるボタンが付いたもの)が既に接続されています。

たとえば、次のコードです。

#include <MApplication>
#include <MApplicationWindow>

int main(int argc, char *argv[]){
    MApplication app(argc, argv);
    MApplicationWindow w;
    w.show();
    return app.exec();
}

これに似たメニューバーを備えた空白のウィンドウを作成します(たとえば、上部にあるスイッチャーボタン、メニュー、閉じるボタン)。

ただし、ドキュメントではTouch Frameworkの使用を推奨していないため、使用を避けたいので、標準APIのみを使用して同様の外観のウィンドウを作成するにはどうすればよいですか?

4

2 に答える 2

1

これをどのように実装するかは、おそらく、高さが固定で幅が可変の QHBoxLayout であり、必要なインデックスのストレッチ係数があります。次に、ウィジェットに QPushButton と QComboBox を使用し、カスタム スタイルシートとアイコンで仕上げます。次に、これらをきちんとした小さなカスタム ウィジェットにラップして、メイン ビュー クラスで再利用できるようにします。

メイン ビューは、QVBoxLayout の上にナビゲーション バー ウィジェットを保持し、その下に実際のコンテンツを保持するウィンドウ クラスである必要があります。下部のインデックスにはストレッチ ファクターがあり、上部のインデックスは常に上部に表示されます。

Meego ハンドセットの UX がどのように動作するかはよく覚えていませんが、似たようなナビゲーション バーを作成する方法です。

于 2011-02-23T06:45:21.013 に答える
1

このクラスにはすでにメニュー、ツールバー、ステータスバーが含まれているため、QMainWindow クラスを使用します。
ただし、向きの切り替えは自分で行う必要があります (ポートレート モードのツールバーは下部にあり、ランドスケープ モードのツールバーは上部にあることがわかります)。
これは、正しい Qt::ToolbarArea 値を設定することで実現できます。

ボタンとウィンドウ自体のスタイルは、Qt スタイルシートを使用して設定できます。

于 2011-03-01T17:52:33.007 に答える