Qtのタイトルバーの最小化、最大化、および閉じるボタンを非表示にする方法を知っていますか。特にQMainWindowで非表示にする必要があります。
このウィンドウフラグを設定しますQt::Window | Qt::WindowTitleHint | Qt::CustomizeWindowHint
一部のプラットフォームでは、動作が異なることに注意してください。たとえば、Mac OS Xでは、ボタンを閉じる/最小化/最大化する(非表示にするのではなく)無効にします
Qt qmlを使用している場合は、最小化、最大化、閉じるボタンを削除するには、以下のように、main.qmlファイルのウィンドウ関数でフレームレスウィンドウフラグを設定します。
flags: Qt.FramelessWindowHint
ウィンドウフラグの例 がどのように機能するかを見てください!
これは、メインウィンドウのQEvent :: CloseイベントでeventFilterを使用することで実現できます。
bool MainWindow::eventFilter(QObject *obj, QEvent *event) {
if (event->type() == QEvent::Close) {
event->ignore();
doWhateverYouNeedToDoBeforeClosingTheApplication();
return true;
}
return QMainWindow::eventFilter(obj, event);
}
void MainWindow::doWhateverYouNeedToDoBeforeClosingTheApplication() {
// Do here what ever you need to do
// ...
// ...
// and finally quit
qApp->quit();
}
フラグ:Qt.Dialog | Qt.WindowCancelButtonHint | Qt.WindowCloseButtonHint
これはウィンドウアイテムでも機能します
フラグ:Qt.Window | Qt.WindowTitleHint