以下は、参照のみを目的とした関連プログラム ファイルです。
概要
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);
効果は次のとおりです。