QMainWindow Class
QMainWindowクラスはメイン・アプリケーション・ウィンドウを提供します。詳細...
ヘッダー | #include <QMainWindow> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
継承: | 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 には独自のレイアウトがあり、QToolBar、QDockWidget、QMenuBar 、QStatusBar を追加することができます。 レイアウトには中央の領域があり、この領域にはあらゆる種類のウィジェットを配置することができます。以下にレイアウトのイメージを示します。
メイン・ウィンドウ・コンポーネントの作成
中央のウィジェットは、通常、QTextEdit やQGraphicsView のような 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::AnimatedDocks | 0x01 | animated プロパティと同じです。 |
QMainWindow::AllowNestedDocks | 0x02 | dockNestingEnabled プロパティと同じです。 |
QMainWindow::AllowTabbedDocks | 0x04 | ユーザーは、1つのドックウィジェットを別のウィジェットの「上に」ドロップすることができます。2つのウィジェットはスタックされ、どちらを表示するかを選択するためのタブバーが表示されます。 |
QMainWindow::ForceTabbedDocks | 0x08 | 各ドックエリアには、タブ付きドックウィジェットのスタックが1つずつ含まれます。言い換えると、ドック・ウィジェットをドック・エリア内で隣り合わせに配置することはできません。このオプションが設定されている場合、AllowNestedDocks は何の効果も持ちません。 |
QMainWindow::VerticalTabs | 0x10 | メインウィンドウの両側にある2つの垂直ドックエリアは、タブを垂直に表示します。このオプションが設定されていない場合、 すべてのドックエリアはタブを下に表示します。AllowTabbedDocks を暗示します。setTabPosition() も参照してください。 |
QMainWindow::GroupedDragging | 0x20 | ドックのタイトルバーをドラッグすると、そのドックと一緒にタブ化されているすべてのタブがドラッグされます。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)
与えられたdockwidget を指定されたarea に追加する。
void QMainWindow::addDockWidget(Qt::DockWidgetArea area, QDockWidget *dockwidget, Qt::Orientation orientation)
orientation で指定された方向に、与えられたarea にdockwidget を追加する。
void QMainWindow::addToolBar(Qt::ToolBarArea area, QToolBar *toolbar)
このメインウィンドウの指定されたarea にtoolbar を追加する。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 で指定したツールバーの前にツールバーの区切りを挿入します。
QMenuBar *QMainWindow::menuBar() const
メインウィンドウのメニューバーを返します。メニュー・バーが存在しない場合、この関数は空のメニュー・バーを作成して返します。
Macアプリケーションのすべてのウィンドウで1つのメニューバーを共有したい場合は、この関数を使って作成しないでください。ここで作成されたメニューバーは、このQMainWindow を親として持つからです。代わりに、親を持たないメニューバーを作成し、それをすべてのMacウィンドウで共有できるようにする必要があります。この方法で親のないメニューバーを作成します:
setMenuBar()も参照してください 。
QWidget *QMainWindow::menuWidget() const
メインウィンドウのメニューバーを返します。メニューバーがまだ作成されていない場合、この関数は 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 の対応するサイズにピクセル単位でリサイズします。orientation がQt::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 プロパティは、各QToolBar とQDockWidget を識別するために使用されます。このプロパティは、QToolBar とQDockWidget に追加するごとに一意であることを確認する必要があります。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 をメインウィンドウの中心ウィジェットに設定する。
注意:QMainWindow はwidget ポインタの所有権を持ち、適切なタイミングで削除します。
centralWidget()も参照してください 。
void QMainWindow::setCorner(Qt::Corner corner, Qt::DockWidgetArea area)
与えられたドックウィジェットarea を、指定されたcorner を占有するように設定します。
corner()も参照してください 。
void QMainWindow::setMenuBar(QMenuBar *menuBar)
メインウィンドウのメニューバーをmenuBar に設定する。
注:QMainWindow はmenuBar ポインタの所有権を持ち、適切なタイミングで削除する。
menuBar()も参照のこと 。
void QMainWindow::setMenuWidget(QWidget *menuBar)
メイン・ウィンドウのメニュー・バーをmenuBar に設定する。
QMainWindow は ポインタの所有権を取得し、適切なタイミングで削除する。menuBar
menuWidget()も参照のこと 。
void QMainWindow::setStatusBar(QStatusBar *statusbar)
メインウィンドウのステータスバーをstatusbar に設定する。
ステータス・バーをnullptr
に設定すると、メイン・ウィンドウから削除される。QMainWindow はstatusbar ポインタの所有権を持ち、適切なタイミングで削除されることに注意。
statusBar()も参照のこと 。
void QMainWindow::setTabPosition(Qt::DockWidgetAreas areas, QTabWidget::TabPosition tabPosition)
与えられたドックウィジェットareas のタブ位置を、指定されたtabPosition に設定します。デフォルトでは、すべてのドックエリアはタブを一番下に表示します。
注意: VerticalTabs ドックオプションは、このメソッドで設定されたタブ位置を上書きします。
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 が現在タブのドック領域にある場合、second はfirst の隣ではなく、新しいタブとして追加されます。 これはひとつのタブにはひとつのドックウィジェットしか入れられないためです。
注意: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()も参照してください 。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.