Qt setWindowFlagsについて
Qtでウィンドウを生成する際、一言にウィンドウと言ってもダイアログウィンドウやポップアップウィンドウ等様々なタイプがあります。
またその他ウィンドウとしての機能で様々なオプションがありますが、これらの設定をQWidgetのsetWindowFlags()
メソッドを利用して設定します。
setWindowFlags(Qt::WindowFlags Type)
ウィンドウフラグではTypeとHintの2種類の値をセットする事が出来、Typeでは大まかなウィンドウのタイプ(PopupやDialog等)を設定し、Hintでは細かいオプションを設定する事が出来ます。
またTypeは1つの値しか設定出来ませんが、Hintは複数設定する事が出来ます。
//Window
QWidget *window = new QWidget;
window->setWindowTitle("サンプルウィンドウ");
window->setWindowFlags(Qt::Window|
Qt::CustomizeWindowHint|
Qt::WindowCloseButtonHint);
window->show();
タイプの種類について
Type | 説明 |
---|---|
Qt::Window | 一般的なタイトルとコントロールのあるウィンドウを作成します |
Qt::Dialog | ダイアログウィンドウが生成され、最大化・最小化のコントロールがありません |
Qt::Sheet | Mac OSのSheetを生成します。コントロールやタイトルはありません |
Qt::Drawer | Mac OSのサブウィンドウを生成します。ウィンドウレイヤーは親ウィンドウの前後になります |
Qt::Popup | ポップアップウィンドウを生成します。他のコントロールをクリックすると閉じます |
Qt::Tool | ツールウィンドウを生成します。タイトルや装飾は必要最低限の物しかありません |
Qt::ToolTip | ツールチップである事を示します。ツールチップを構成する際に使われます |
Qt::SplashScreen | スプラッシュスクリーンを生成します |
Qt::SubWindow | サブウィンドウを生成します |
Hint | 説明 |
---|---|
Qt::MSWindowsFixedSizeDialogHint | Windows上でウィンドウに細いダイアログ境界を付けます。 |
Qt::FramelessWindowHint | ボーダレスウィンドウを作成します。ユーザは、ウィンドウシステムを介してボーダレスウィンドウを移動またはサイズ変更することはできません。 |
Qt::CustomizeWindowHint | デフォルトのウィンドウタイトルヒントをオフにします。 |
Qt::WindowTitleHint | ウィンドウにタイトルバーを付けます。 |
Qt::WindowSystemMenuHint | ウィンドウシステムメニューを追加し、場合によっては閉じるボタンを追加します(たとえばMacの場合)。閉じるボタンを隠したり表示したりする必要がある場合は、移植性が高くなりますWindowCloseButtonHint。 |
Qt::WindowMinimizeButtonHint | 最小化ボタンを追加します。 |
Qt::WindowMaximizeButtonHint | 最大化ボタンを追加します。 |
Qt::WindowMinMaxButtonsHint | 最小化ボタンと最大化ボタンを追加します。 |
Qt::WindowCloseButtonHint | 閉じるボタンを追加します。 |
Qt::WindowContextHelpButtonHint | コンテキストヘルプボタンをダイアログに追加します。 |
Qt::MacWindowToolBarButtonHint | Mac OSツールバーのボタンを追加します(つまり、ツールバーを持つウィンドウの右上にある楕円形のボタン)。 |
Qt::WindowFullscreenButtonHint | Mac OSのフルスクリーンボタンが追加されます。 |
Qt::WindowStaysOnTopHint | 画面最前面にウィンドウを表示する。 |
Qt::WindowStaysOnBottomHint | ウィンドウを他のウィンドウの一番後ろに配置する。 |
コメント
コメントを投稿