QMainWindow Class

QMainWindowクラスはメイン・アプリケーション・ウィンドウを提供します。詳細...

Header: #include <QMainWindow>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Inherits: QWidget

パブリック・タイプ

enum DockOption { AnimatedDocks, AllowNestedDocks, AllowTabbedDocks, ForceTabbedDocks, VerticalTabs, GroupedDragging }
flags DockOptions

プロパティ

パブリック関数

QMainWindow(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())
virtual ~QMainWindow()
void addDockWidget(Qt::DockWidgetArea area, QDockWidget *dockwidget)
void addDockWidget(Qt::DockWidgetArea area, QDockWidget *dockwidget, Qt::Orientation orientation)
void addToolBar(Qt::ToolBarArea area, QToolBar *toolbar)
void addToolBar(QToolBar *toolbar)
QToolBar *addToolBar(const QString &title)
void addToolBarBreak(Qt::ToolBarArea area = Qt::TopToolBarArea)
QWidget *centralWidget() const
Qt::DockWidgetArea corner(Qt::Corner corner) const
virtual QMenu *createPopupMenu()
QMainWindow::DockOptions dockOptions() const
Qt::DockWidgetArea dockWidgetArea(QDockWidget *dockwidget) const
bool documentMode() const
QSize iconSize() const
void insertToolBar(QToolBar *before, QToolBar *toolbar)
void insertToolBarBreak(QToolBar *before)
bool isAnimated() const
bool isDockNestingEnabled() const
QMenuBar *menuBar() const
QWidget *menuWidget() const
void removeDockWidget(QDockWidget *dockwidget)
void removeToolBar(QToolBar *toolbar)
void removeToolBarBreak(QToolBar *before)
void resizeDocks(const QList<QDockWidget *> &docks, const QList<int> &sizes, Qt::Orientation orientation)
bool restoreDockWidget(QDockWidget *dockwidget)
bool restoreState(const QByteArray &state, int version = 0)
QByteArray saveState(int version = 0) const
void setCentralWidget(QWidget *widget)
void setCorner(Qt::Corner corner, Qt::DockWidgetArea area)
void setDockOptions(QMainWindow::DockOptions options)
void setDocumentMode(bool enabled)
void setIconSize(const QSize &iconSize)
void setMenuBar(QMenuBar *menuBar)
void setMenuWidget(QWidget *menuBar)
void setStatusBar(QStatusBar *statusbar)
void setTabPosition(Qt::DockWidgetAreas areas, QTabWidget::TabPosition tabPosition)
void setTabShape(QTabWidget::TabShape tabShape)
void setToolButtonStyle(Qt::ToolButtonStyle toolButtonStyle)
void splitDockWidget(QDockWidget *first, QDockWidget *second, Qt::Orientation orientation)
QStatusBar *statusBar() const
QTabWidget::TabPosition tabPosition(Qt::DockWidgetArea area) const
QTabWidget::TabShape tabShape() const
QList<QDockWidget *> tabifiedDockWidgets(QDockWidget *dockwidget) const
void tabifyDockWidget(QDockWidget *first, QDockWidget *second)
QWidget *takeCentralWidget()
Qt::ToolBarArea toolBarArea(const QToolBar *toolbar) const
bool toolBarBreak(QToolBar *toolbar) const
Qt::ToolButtonStyle toolButtonStyle() const
bool unifiedTitleAndToolBarOnMac() const

パブリックスロット

void setAnimated(bool enabled)
void setDockNestingEnabled(bool enabled)
void setUnifiedTitleAndToolBarOnMac(bool set)

シグナル

void iconSizeChanged(const QSize &iconSize)
void tabifiedDockWidgetActivated(QDockWidget *dockWidget)
void toolButtonStyleChanged(Qt::ToolButtonStyle toolButtonStyle)

再実装された保護された関数

virtual void contextMenuEvent(QContextMenuEvent *event) override
virtual bool event(QEvent *event) override

詳細説明

Qtメインウィンドウフレームワーク

メインウィンドウは、アプリケーションのユーザーインターフェイスを構築するためのフレームワークを提供します。Qt にはメインウィンドウを管理するための QMainWindow とその関連クラスがあります。QMainWindow には独自のレイアウトがあり、QToolBarQDockWidgetQMenuBarQStatusBar を追加することができます。 レイアウトには中央の領域があり、この領域にはあらゆる種類のウィジェットを配置することができます。以下にレイアウトのイメージを示します。

メイン・ウィンドウ・コンポーネントの作成

中央のウィジェットは通常、QTextEditQGraphicsView などの標準 Qt ウィジェットになります。高度なアプリケーションでは、カスタムウィジェットを使用することもできます。中心ウィジェットはsetCentralWidget() で設定します。

メイン・ウィンドウには、シングル(SDI)またはマルチ(MDI)ドキュメント・インターフェースがあります。Qt では、QMdiArea を中心ウィジェットとして MDI アプリケーションを作成します。

ここでは、メイン・ウィンドウに追加できるその他のウィジェットについて説明します。作成方法と追加方法の例を示します。

メニューの作成

Qt はメニューをQMenu に実装し、QMainWindow はそれらをQMenuBar に保持します。QActionはメニューに追加され、メニュー・アイテムとして表示されます。

メイン・ウィンドウのメニュー・バーに新しいメニューを追加するには、menuBar() (ウィンドウのQMenuBar )を呼び出し、QMenuBar::addMenu ()でメニューを追加します。

QMainWindow にはデフォルトのメニュー・バーが付属していますが、setMenuBar() を使用して自分で設定することもできます。カスタム・メニュー・バーを実装したい場合(つまり、QMenuBar ウィジェットを使用しない場合)は、setMenuWidget() を使用して設定できます。

メニューの作成方法の例を以下に示します:

    void MainWindow::createMenus()
    {
        fileMenu = menuBar()->addMenu(tr("&File"));
        fileMenu->addAction(newAct);
        fileMenu->addAction(openAct);
        fileMenu->addAction(saveAct);

createPopupMenu() 関数は、メイン・ウィンドウがコンテキスト・メニュー・イベントを受信すると、ポップアップ・メニューを作成します。デフォルトの実装では、ドックウィジェットとツールバーからチェック可能なアクションでメニューを生成します。createPopupMenu() を再実装してカスタムメニューを作成できます。

ツールバーの作成

ツールバーはQToolBar クラスに実装されています。addToolBar() でメインウィンドウにツールバーを追加します。

ツールバーを特定のQt::ToolBarArea に割り当てることで、ツールバーの初期位置を制御できます。addToolBarBreak() またはinsertToolBarBreak() を使用して、ツールバーの改行(テキスト編集の改行と同じと考えてください)を挿入して領域を分割することができます。 また、QToolBar::setAllowedAreas() およびQToolBar::setMovable() を使用して、ユーザーによる配置を制限することもできます。

ツールバーアイコンのサイズはiconSize() で取得できます。サイズはプラットフォームに依存します。setIconSize() で固定サイズを設定できます。setToolButtonStyle() で、ツールバーのすべてのツールボタンの外観を変更できます。

ツールバーの作成例を以下に示します:

    void MainWindow::createToolBars()
    {
        fileToolBar = addToolBar(tr("File"));
        fileToolBar->addAction(newAct);

ドック・ウィジェットの作成

ドック・ウィジェットはQDockWidget クラスに実装されています。ドック・ウィジェットはメイン・ウィンドウにドッキングできるウィンドウです。メイン・ウィンドウにドック・ウィジェットを追加するには、addDockWidget() を使います。

ドック・ウィジェットには、Qt::DockWidgetArea enumで指定された4つの領域があります:left、right、top、bottomです。どのドックウィジェット領域が、領域が重なる角を占めるかは、setCorner() で指定できます。デフォルトでは、各エリアにはドックウィジェットを1列(縦または横)しか入れられませんが、setDockNestingEnabled() でネスティングを有効にすれば、ドックウィジェットを左右どちらの方向にも追加できます。

また、2つのドックウィジェットを重ねることもできます。その場合、QTabBar を使って、どのウィジェットを表示するかを選択します。

ドック・ウィジェットを作成し、メイン・ウィンドウに追加する方法の例を示します:

    QDockWidget *dockWidget = new QDockWidget(tr("Dock Widget"), this);
    dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea |
                                Qt::RightDockWidgetArea);
    dockWidget->setWidget(dockWidgetContents);
    addDockWidget(Qt::LeftDockWidgetArea, dockWidget);

ステータスバー

setStatusBar() でステータス・バーを設定できますが、ステータス・バーはstatusBar() (メイン・ウィンドウのステータス・バーを返す)が最初に呼ばれたときに作成されます。使い方はQStatusBar を参照してください。

状態の保存

QMainWindow はsaveState() でレイアウトの状態を保存できます。後でrestoreState() で取得できます。保存されるのはツールバーとドックウィジェットの位置とサイズ(メインウィンドウのサイズに対して)です。

QMenuBar,QToolBar,QStatusBar,QDockWidget,Menus Exampleも参照のこと

メンバ・タイプのドキュメント

enum QMainWindow::DockOption
flags QMainWindow::DockOptions

この enum はQMainWindow のドッキング動作を指定するフラグを含みます。

定数説明
QMainWindow::AnimatedDocks0x01animated プロパティと同じです。
QMainWindow::AllowNestedDocks0x02dockNestingEnabled プロパティと同じです。
QMainWindow::AllowTabbedDocks0x04ユーザーは、1つのドックウィジェットを別のウィジェットの「上に」ドロップすることができます。2つのウィジェットはスタックされ、どちらを表示するかを選択するためのタブバーが表示されます。
QMainWindow::ForceTabbedDocks0x08各ドックエリアには、タブ付きドックウィジェットのスタックが1つずつ含まれます。言い換えると、ドック・ウィジェットをドック・エリア内で隣り合わせに配置することはできません。このオプションが設定されている場合、AllowNestedDocks は何の効果も持ちません。
QMainWindow::VerticalTabs0x10メインウィンドウの両側にある2つの垂直ドックエリアは、タブを垂直に表示します。このオプションが設定されていない場合、 すべてのドックエリアはタブを下に表示します。AllowTabbedDocks を暗示します。setTabPosition() も参照してください。
QMainWindow::GroupedDragging0x20ドックのタイトルバーをドラッグすると、そのドックと一緒にタブ化されているすべてのタブがドラッグされます。AllowTabbedDocks を暗示しています。一部の QDockWidgets が許可する領域に制限がある場合、うまく動作しません。(この enum 値は Qt 5.6 で追加されました)。

これらのオプションは、ドックウィジェットをQMainWindow にドロップする方法を制御するだけです。 指定されたオプションに適合するようにドックウィジェットを再配置することはありません。このため、ドックウィジェットをメインウィンドウに追加する前に設定する必要があります。AnimatedDocks と VerticalTabs オプションは例外で、いつでも設定できます。

DockOptions 型はQFlags<DockOption> の typedef です。これは、DockOption値のORの組み合わせを格納する。

プロパティの説明

animated : bool

このプロパティは、ドックウィジェットやツールバーの操作がアニメーションするかどうかを保持します。

ドックウィジェットやツールバーがメインウィンドウ上にドラッグされると、メインウィンドウはその内容を調整し、ドックウィジェットやツールバーがドロップされた場合にドッキングされる場所を示します。このプロパティを設定すると、QMainWindow 、コンテンツが滑らかなアニメーションで移動します。このプロパティをクリアすると、コンテンツは新しい位置にスナップします。

デフォルトでは、このプロパティは設定されています。メイン・ウィンドウにサイズ変更や再描画が遅いウィジェットが含まれている場合は、このプロパティがクリアされることがあります。

このプロパティを設定することは、setDockOptions() を使用してAnimatedDocks オプションを設定することと同じです。

アクセス関数:

bool isAnimated() const
void setAnimated(bool enabled)

dockNestingEnabled : bool

このプロパティは、ドックを入れ子にできるかどうかを保持する。

このプロパティがfalse の場合、ドック領域はドックウィジェットの1列(水平または垂直)のみを含むことができます。このプロパティがtrue の場合、ドックウィジェットが占める領域は、より多くのドックウィジェットを含むために、どちらかの方向に分割することができます。

ドックの入れ子は、多くのドック・ウィジェットを含むアプリケーションでのみ必要です。これによって、ユーザーはメイン・ウィンドウをより自由に整理できるようになります。しかし、ドックの入れ子は、ドック・ウィジェットがメイン・ウィンドウの上にドラッグされたときに、より複雑な(そして直感的でない)動作をもたらします。

このプロパティを設定することは、setDockOptions() を使用してAllowNestedDocks オプションを設定することと同じです。

アクセス関数:

bool isDockNestingEnabled() const
void setDockNestingEnabled(bool enabled)

dockOptions : DockOptions

このプロパティはQMainWindow

デフォルト値はAnimatedDocks |AllowTabbedDocks

アクセス関数:

QMainWindow::DockOptions dockOptions() const
void setDockOptions(QMainWindow::DockOptions options)

documentMode : bool

このプロパティは、タブ付きドックウィジェットのタブバーをドキュメントモードに設定するかどうかを保持します。

デフォルトはfalseです。

アクセス関数:

bool documentMode() const
void setDocumentMode(bool enabled)

QTabBar::documentModeも参照してください

iconSize : QSize

このメインウィンドウのツールバーアイコンのサイズ。

デフォルトはGUIスタイルのデフォルトのツールバー・アイコンのサイズです。アイコンは縮小されるだけなので、使用するアイコンは少なくともこのサイズでなければならないことに注意してください。

アクセス関数:

QSize iconSize() const
void setIconSize(const QSize &iconSize)

tabShape : QTabWidget::TabShape

このプロパティは、タブドックウィジェットに使用されるタブの形状を保持します。

デフォルトはQTabWidget::Rounded です。

アクセス関数:

QTabWidget::TabShape tabShape() const
void setTabShape(QTabWidget::TabShape tabShape)

setTabPosition()も参照してください

toolButtonStyle : Qt::ToolButtonStyle

このメインウィンドウのツールバーボタンのスタイル。

ツールボタンのスタイルをシステム設定に従わせるには、このプロパティをQt::ToolButtonFollowStyle に設定します。Unix では、デスクトップ環境のユーザ設定が使用されます。その他のプラットフォームでは、Qt::ToolButtonFollowStyle はアイコンのみを意味します。

デフォルトはQt::ToolButtonIconOnly です。

アクセス関数:

Qt::ToolButtonStyle toolButtonStyle() const
void setToolButtonStyle(Qt::ToolButtonStyle toolButtonStyle)

unifiedTitleAndToolBarOnMac : bool

このプロパティは、ウィンドウが macOS で統一されたタイトルとツールバーの外観を使用するかどうかを保持します。

Qt 5 の実装には、Qt 4 と比較していくつかの制限があることに注意してください:

  • OpenGL コンテンツのあるウィンドウでの使用はサポートされていません。これにはQOpenGLWidget が含まれます。
  • ドッキング可能なツールバーや移動可能なツールバーを使用すると、ペイントエラーが発生する可能性があります。

アクセス関数:

bool unifiedTitleAndToolBarOnMac() const
void setUnifiedTitleAndToolBarOnMac(bool set)

メンバ関数ドキュメント

[explicit] QMainWindow::QMainWindow(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())

与えられたparent と指定されたウィジェットflags を持つ QMainWindow を構築します。

QMainWindow は、Qt::Window フラグを設定するので、常にトップレベル ウィジェットとして作成されます。

[virtual noexcept] QMainWindow::~QMainWindow()

メインウィンドウを破棄します。

void QMainWindow::addDockWidget(Qt::DockWidgetArea area, QDockWidget *dockwidget)

指定されたarea に、指定されたdockwidget を追加します。

void QMainWindow::addDockWidget(Qt::DockWidgetArea area, QDockWidget *dockwidget, Qt::Orientation orientation)

指定されたareaorientation で指定された方向にdockwidget を追加します。

void QMainWindow::addToolBar(Qt::ToolBarArea area, QToolBar *toolbar)

このメインウィンドウの指定されたareatoolbar を追加する。toolbar は、現在のツールバーブロック (すなわち行) の最後に配置される。メイン・ウィンドウがすでにtoolbar を管理している場合は、ツールバーをarea に移動するだけです。

insertToolBar()、addToolBarBreak()、insertToolBarBreak()も参照

void QMainWindow::addToolBar(QToolBar *toolbar)

これはオーバーロードされた関数です。

addToolBar(Qt::TopToolBarArea,toolbar) を呼び出すのと同じです。

QToolBar *QMainWindow::addToolBar(const QString &title)

これはオーバーロードされた関数です。

QToolBar オブジェクトを作成し、そのウィンドウ・タイトルをtitle に設定し、それを一番上のツールバー領域に挿入します。

setWindowTitle()も参照してください

void QMainWindow::addToolBarBreak(Qt::ToolBarArea area = Qt::TopToolBarArea)

与えられたarea に、存在する他のすべてのオブジェクトの後にツールバー・ブレークを追加します。

QWidget *QMainWindow::centralWidget() const

メイン・ウィンドウの中央ウィジェットを返します。中心ウィジェットが設定されていない場合、この関数はnullptr を返します。

setCentralWidget()も参照

[override virtual protected] void QMainWindow::contextMenuEvent(QContextMenuEvent *event)

再インプリメント:QWidget::contextMenuEvent(QContextMenuEvent *event)を参照してください。

Qt::DockWidgetArea QMainWindow::corner(Qt::Corner corner) const

指定されたcorner を占めるドックウィジェット領域を返します。

setCorner() も参照して ください。

[virtual] QMenu *QMainWindow::createPopupMenu()

メインウィンドウに存在するツールバーとドックウィジェットのチェック可能なエントリを含むポップアップメニューを返します。ツールバーとドックウィジェットが存在しない場合、この関数はnullptr を返す。

デフォルトでは、この関数はユーザがコンテキストメニューをアクティブにしたときにメイン・ウィンドウから呼び出されます。通常はツールバーやドック・ウィジェットを右クリックします。

カスタムポップアップメニューを作成したい場合は、この関数を再実装し、新しく作成したポップアップメニューを返します。ポップアップ・メニューの所有権は呼び出し元に移ります。

addDockWidget()、addToolBar()、menuBar()も参照して ください。

Qt::DockWidgetArea QMainWindow::dockWidgetArea(QDockWidget *dockwidget) const

dockwidget に対するQt::DockWidgetArea を返す。dockwidget がメイン・ウィンドウに追加されていない場合、この関数はQt::NoDockWidgetArea を返す。

addDockWidget()、splitDockWidget()、Qt::DockWidgetAreaも参照

[override virtual protected] bool QMainWindow::event(QEvent *event)

再実装:QWidget::event(QEvent *event)。

[signal] void QMainWindow::iconSizeChanged(const QSize &iconSize)

このシグナルは、ウィンドウで使用されているアイコンのサイズが変更されたときに発行されます。新しいアイコンサイズはiconSize で渡されます。

このシグナルを他のコンポーネントに接続することで、アプリケーションの外観を統一することができます。

setIconSize()も参照

void QMainWindow::insertToolBar(QToolBar *before, QToolBar *toolbar)

before ツールバーが占める領域にtoolbar を挿入し、ツールバーの前に表示されるようにします。例えば、通常の左から右へのレイアウト操作の場合、toolbar は、before で指定されたツールバーの左側に、横長のツールバー領域で表示されることになります。

insertToolBarBreak ()、addToolBar ()、addToolBarBreak)も参照のこと

void QMainWindow::insertToolBarBreak(QToolBar *before)

before で指定されたツールバーの前にツールバーの区切りを挿入します。

メイン・ウィンドウのメニュー・バーを返します。メニュー・バーが存在しない場合、この関数は空のメニュー・バーを作成して返します。

Macアプリケーションのすべてのウィンドウで1つのメニュー・バーを共有したい場合は、この関数を使って作成しないでください。ここで作成されたメニュー・バーは、このQMainWindow を親として持つからです。代わりに、親を持たないメニューバーを作成し、それをすべてのMacウィンドウで共有できるようにする必要があります。この方法で親のないメニューバーを作成します:

QMenuBar *menuBar = new QMenuBar(nullptr);

setMenuBar()も参照のこと

メインウィンドウのメニューバーを返します。メニューバーがまだ作成されていない場合、この関数はnullを返します。

setMenuWidget() も参照

void QMainWindow::removeDockWidget(QDockWidget *dockwidget)

メイン・ウィンドウのレイアウトからdockwidget を削除し、非表示にします。dockwidget は削除されないことに注意。

void QMainWindow::removeToolBar(QToolBar *toolbar)

toolbar をメイン・ウィンドウ・レイアウトから削除し、非表示にする。toolbar は削除されないことに注意。

void QMainWindow::removeToolBarBreak(QToolBar *before)

before で指定されたツールバーの前に挿入されていたツールバーブレークを削除します。

void QMainWindow::resizeDocks(const QList<QDockWidget *> &docks, const QList<int> &sizes, Qt::Orientation orientation)

リストdocks のドックウィジェットのサイズを、リストsizes の対応するピクセル単位サイズに変更します。orientationQt::Horizontal の場合は幅を調整し、そうでない場合はドックウィジェットの高さを調整します。サイズは、最大サイズと最小サイズが尊重されるように調整され、QMainWindow 自体のサイズは変更されません。追加/不足スペースは、サイズの相対的な重さに従ってウィジェットに分配されます。

    resizeDocks({blueWidget, yellowWidget}, {20 , 40}, Qt::Horizontal);

例: 青と黄色のウィジェットが同じレベルにネストされている場合、yellowWidgetがblueWidgetの2倍の大きさになるようにリサイズされます。

いくつかのウィジェットがタブでグループ化されている場合、グループごとに1つのウィジェットだけを指定する必要があります。リストにないウィジェットは、制約を尊重するために変更されるかもしれません。

bool QMainWindow::restoreDockWidget(QDockWidget *dockwidget)

restoreState() の呼び出しの後に作成された場合、dockwidget の状態を復元する。状態が復元された場合はtrue を返し、そうでない場合はfalse を返す。

restoreState() およびsaveState()も参照

bool QMainWindow::restoreState(const QByteArray &state, int version = 0)

このメインウィンドウのツールバーとドックウィジェットのstate を復元します。また、コーナー設定も復元します。version の数値は、state に保存されている数値と比較されます。両者が一致しない場合、メインウィンドウの状態は変更されずに、この関数はfalse を返します。それ以外の場合、状態は復元され、この関数はtrue を返します。

QSettings を使用して保存したジオメトリを復元するには、次のようなコードを使用できます:

void MainWindow::readSettings()
{
    QSettings settings("MyCompany", "MyApp");
    restoreGeometry(settings.value("myWidget/geometry").toByteArray());
    restoreState(settings.value("myWidget/windowState").toByteArray());
}

saveState()、QWidget::saveGeometry()、QWidget::restoreGeometry()、restoreDockWidget()も参照

QByteArray QMainWindow::saveState(int version = 0) const

メインウィンドウのツールバーとドックウィジェットの現在の状態を保存します。これには、setCorner() で設定できるコーナー設定も含まれます。version 番号はデータの一部として保存されます。

objectName プロパティは、各QToolBarQDockWidget を識別するために使用されます。このプロパティは、QToolBarQDockWidget に追加するごとに一意であることを確認する必要があります。QMainWindow

保存された状態を復元するには、戻り値とversion 番号をrestoreState() に渡します。

ウィンドウが閉じたときにジオメトリを保存するには、このように close イベントを実装します:

void MyMainWindow::closeEvent(QCloseEvent *event)
{
    QSettings settings("MyCompany", "MyApp");
    settings.setValue("geometry", saveGeometry());
    settings.setValue("windowState", saveState());
    QMainWindow::closeEvent(event);
}

restoreState()、QWidget::saveGeometry()、QWidget::restoreGeometry()も参照して ください。

void QMainWindow::setCentralWidget(QWidget *widget)

指定されたwidget をメイン・ウィンドウの中心ウィジェットに設定します。

注意:QMainWindowwidget ポインタの所有権を取得し、適切なタイミングで削除します。

centralWidget()も参照

void QMainWindow::setCorner(Qt::Corner corner, Qt::DockWidgetArea area)

与えられたドックウィジェットarea を、指定されたcorner を占有するように設定する。

corner() も参照

void QMainWindow::setMenuBar(QMenuBar *menuBar)

メイン・ウィンドウのメニュー・バーをmenuBar に設定します。

注意:QMainWindowmenuBar ポインタの所有権を取得し、適切なタイミングで削除します。

menuBar() も参照

void QMainWindow::setMenuWidget(QWidget *menuBar)

メイン・ウィンドウのメニュー・バーをmenuBar に設定します。

QMainWindow menuBar ポインタの所有権を取得し、適切なタイミングで削除する。

menuWidget()も参照のこと

void QMainWindow::setStatusBar(QStatusBar *statusbar)

メイン・ウィンドウのステータス・バーをstatusbar に設定する。

ステータス・バーをnullptr に設定すると、メイン・ウィンドウから削除される。QMainWindowstatusbar ポインタの所有権を持ち、適切なタイミングで削除されることに注意。

statusBar()も参照のこと

void QMainWindow::setTabPosition(Qt::DockWidgetAreas areas, QTabWidget::TabPosition tabPosition)

与えられたドックウィジェットareas のタブ位置を、指定されたtabPosition に設定します。デフォルトでは、すべてのドックエリアはタブを一番下に表示します。

注意: VerticalTabs dock オプションは、このメソッドで設定されたタブ位置を上書きします。

tabPosition() およびsetTabShape()も参照して ください。

void QMainWindow::splitDockWidget(QDockWidget *first, QDockWidget *second, Qt::Orientation orientation)

first ドックウィジェットで覆われている空間を2つに分割し、first ドックウィジェットを最初の部分に移動させ、second ドックウィジェットを2番目の部分に移動させます。

orientation はスペースの分割方法を指定します:Qt::Horizontal 。分割すると、2つ目のドックウィジェットは1つ目のドックウィジェットの右に配置され、Qt::Vertical 。分割すると、2つ目のドックウィジェットは1つ目のドックウィジェットの下に配置されます。

注意:first が現在タブのドック領域にある場合、secondfirst の隣ではなく、新しいタブとして追加されます。 これはひとつのタブにはひとつのドックウィジェットしか入れられないためです。

注意:Qt::LayoutDirection は分割された2つの部分のドックウィジェットの順番に影響します。右から左へのレイアウトを有効にすると、ドックウィジェットの配置は逆になります。

tabifyDockWidget(),addDockWidget(),removeDockWidget()も参照

QStatusBar *QMainWindow::statusBar() const

メイン・ウィンドウのステータス・バーを返します。ステータス・バーが存在しない場合は、空のステータス・バーを作成して返します。

setStatusBar()も参照

QTabWidget::TabPosition QMainWindow::tabPosition(Qt::DockWidgetArea area) const

area のタブ位置を返します。

注意: VerticalTabs ドック・オプションは、この関数が返すタブ位置を上書きします。

setTabPosition() およびtabShape() も参照

[signal] void QMainWindow::tabifiedDockWidgetActivated(QDockWidget *dockWidget)

このシグナルは、タブを選択してタブ化されたドックウィジェットがアクティブになったときに発せられます。アクティブ化されたドックウィジェットはdockWidget で渡されます。

tabifyDockWidget() およびtabifiedDockWidgets() も参照して ください。

QList<QDockWidget *> QMainWindow::tabifiedDockWidgets(QDockWidget *dockwidget) const

dockwidget と一緒にタブ化されたドックウィジェットを返します。

tabifyDockWidget()も参照して ください。

void QMainWindow::tabifyDockWidget(QDockWidget *first, QDockWidget *second)

second ドックウィジェットをfirst ドックウィジェットの上に移動し、メインウィンドウにタブ化されたドック領域を作成します。

tabifiedDockWidgets()も参照して ください。

QWidget *QMainWindow::takeCentralWidget()

メイン・ウィンドウから中央のウィジェットを削除します。

削除されたウィジェットの所有権は呼び出し元に渡されます。

Qt::ToolBarArea QMainWindow::toolBarArea(const QToolBar *toolbar) const

toolbar に対するQt::ToolBarArea を返す。toolbar がメインウィンドウに追加されていない場合、この関数はQt::NoToolBarArea を返す。

addToolBar()、addToolBarBreak()、Qt::ToolBarAreaも参照のこと

bool QMainWindow::toolBarBreak(QToolBar *toolbar) const

toolbar の前にツールバーの区切りがあるかどうかを返します。

addToolBarBreak() およびinsertToolBarBreak() も参照

[signal] void QMainWindow::toolButtonStyleChanged(Qt::ToolButtonStyle toolButtonStyle)

このシグナルは、ウィンドウのツール・ボタンに使用されているスタイルが変更されたときに発行されます。新しいスタイルはtoolButtonStyle で渡されます。

このシグナルを他のコンポーネントに接続することで、アプリケーションの外観を統一することができます。

setToolButtonStyle()も参照してください

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。