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 には独自のレイアウトがあり、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)
指定されたarea に、指定されたdockwidget を追加します。
void QMainWindow::addDockWidget(Qt::DockWidgetArea area, QDockWidget *dockwidget, Qt::Orientation orientation)
指定されたarea にorientation で指定された方向に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 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 が現在タブのドック領域にある場合、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()も参照してください 。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。