7. メニューバー付きウィンドウ (QMainWindow)

以下は、参照のみを目的とした関連プログラム ファイルです。

01_Qメインウィンドウ.zip

概要

QMainWindow は、メニュー バー (メニュー バー)、複数のツール バー (ツール バー)、複数のドック ウィジェット (ドック ウィジェット)、ステータス バー (ステータス バー)、および中央のコンポーネント (中央ウィジェット) は、テキスト エディター、画像エディターなど、多くのアプリケーションの基礎となります。

注: 対応する列を追加するときは、対応するヘッダー ファイルを cpp ファイルに追加する必要があります。

#include <QMenuBar>
#include <QToolBar>
#include <QPushButton>
#include <QStatusBar>
#include <QLabel>
#include <QDockWidget>
#include <QTextEdit>

1. メニューバー (最大 1 つ)

1.1. メニューバーの作成

まず次のウィンドウ サイズをリセットし、次にメニュー バーを作成して (作成できるのは 1 つだけであることに注意してください)、それをウィンドウに配置します。そうしないと、メニュー バーはウィンドウに表示されません。

//重置窗口大小
    resize(600,400);

    //菜单栏  最多只能有一个
    //菜单栏创建
    QMenuBar *bar=menuBar();
    //将菜单栏放入到窗口中
    setMenuBar(bar);

1.2. メニューの作成

メニューバーに「ファイル」と「編集」という 2 つのメニューを追加します。

 //创建菜单
    QMenu * fileMenu = bar->addMenu("文件");
    QMenu * editMenu = bar->addMenu("编辑");

効果は次のとおりです。

1.3. メニュー項目の作成

ファイル メニューに [新規] と [開く] という 2 つのオプションを追加し、それらを区切るためにセパレータを追加します。

//创建菜单项
    QAction * newAction = fileMenu->addAction("新建");
    //添加分隔符
    fileMenu->addSeparator();
    QAction * openAction = fileMenu->addAction("打开");

効果は次のとおりです。

1.4. 概要

メニューバー:

  • メニューバーを作成する——menuBar();
  • メニューバーをウィンドウに配置します——setMenuBar();
  • メニューの作成 -addMenu();
  • メニュー項目を作成する -addAction();
  • 区切り文字を追加 -addSeparator();

2. ツールバー (複数存在可能)

ツールバー:

  • ツールバーの作成 -QToolBar();
  • ツールバーのデフォルトの方向を設定します—addToolBar();
  • ツールバーのドッキング領域を設定します——setAllowedAreas();
  • フローティング操作を設定します——setFloatable();
  • セット動作(マスタースイッチ) -setMovable();
  • ツールバーオプションを設定する -addAction();
  • ツールバーにコントロールを追加する——addWidget();
//工具栏   可以有多个
    QToolBar *toolBar=new QToolBar(this);
    addToolBar(Qt::LeftToolBarArea,toolBar);//设置工具栏的默认方位

    //后期设置,只允许 左右停靠
    toolBar->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);

    //设置浮动操作
    toolBar->setFloatable(false);

    //设置移动 (总开关)
    toolBar->setMovable(false);

    //工具栏中可以设置内容
    toolBar->addAction(newAction);
    //添加分割线
    toolBar->addSeparator();
    toolBar->addAction(openAction);
    //工具栏中添加控件
    QPushButton *btn = new QPushButton("aa",this);
    toolBar->addWidget(btn);

効果は次のとおりです。


3. ステータスバー (最大 1 つ)

ステータスバー

  • ステータスバーを作成する——statusBar();
  • 窓に設定する——setStatusBar();
  • コントロールを追加 - addWidget();(デフォルトは左)
  • 右側にコントロールを追加します -addPermanentWidget();
 //状态栏  最多有一个
    QStatusBar * stBar = statusBar();
    //设置到窗口中
    setStatusBar(stBar);
    //放标签控件
    QLabel * label = new QLabel("提示信息",this);
    stBar->addWidget(label);

    QLabel * label2 = new QLabel("右侧提示信息",this);
    stBar->addPermanentWidget(label2);

効果は次のとおりです。


4. リベット留めされたコンポーネント (フローティング ウィンドウ - 複数ある場合があります)

リベット留めされた部品:

  • リベット留めされたパーツを作成する -QDockWidget();
  • デフォルトの向きを設定する——addDockWidget();
  • ドック後のエリアを設定する——setAllowedAreas();
//铆接部件(浮动窗口)  可以有多个
    QDockWidget * dockWidget = new QDockWidget("浮动",this);
    addDockWidget(Qt::BottomDockWidgetArea,dockWidget);
    //设置后期停靠区域,只允许上下
    dockWidget->setAllowedAreas(Qt::TopDockWidgetArea|Qt::BottomDockWidgetArea);

    //设置中心部件  只能一个
    QTextEdit * edit = new QTextEdit(this);
    setCentralWidget(edit);

効果は次のとおりです。


5. 中央コンポーネント(最大 1 つ)

センターピース:

  • センターウィジェットを作成 -QTextEdit();
  • センターウィジェットとして設定 -setCentralWidget();
//设置中心部件  只能一个
    QTextEdit * edit = new QTextEdit(this);
    setCentralWidget(edit);

効果は次のとおりです。

おすすめ

転載: blog.csdn.net/qq_63388834/article/details/135130088