2017-11-11 6 views
0

ボーダーレスモーダルダイアログを最小限にして、タスクバーに残す必要があります。問題は、画面の下部に最小化ダイアログです:ボーダーレスダイアログの問題を最小限にする

スクリーンショット:

0_1510351504895_2017-11-11_000440.jpg

コード:

setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint); 
setWindowModality(Qt::ApplicationModal); 
this->setWindowState(Qt::WindowMinimized); 

また、このダイアログは、メインではありませんダイアログで最小化をクリックすると両方の問題を最小限に抑えなければならないと思います。この問題は、ボーダーレスのモーダルダイアログボックスにも存在します。私はこの問題を解決する方法のWindows 10上でQt 5.9.2を使用

0_1510400432885_FastStoneEditor1.jpg

:国境での最小化、モーダルダイアログと

スクリーンショット?前もって感謝します。

+0

これは、ダイアログに現在表示されていない親ウィンドウがある場合に発生します。親を持たないダイアログ、 'setParent(nullptr)'を作成してみてください。 – Felix

+0

@Felix はい、私の知る限り、この問題は親が設定されている場合にのみ発生します。親を削除するときはうまく動作します。私はそれがQtのバグだと思った? – Cobra91151

+0

あなたのダイアログには、それ自身のタスクバーエントリがないので、意図的です。したがって、それは最小限に抑えられます。これはウィンドウズ上のデザインであり、Qtの欠陥ではありません。たとえば、Linuxでは、両方のウィンドウを同時に最小化します。 Windowsの場合、これは自然な動作です。 – Felix

答えて

1

したがって、親を削除するか、nullptrに設定して問題を修正しました。 @Felixのおかげで、これはQtのバグではなく、デフォルトのWindowsの動作です。

関連する問題