2016-09-30 8 views
2

で同じタイトルバーのボタンとコンテキストヘルプボタンを最小化、私は次のように実行します。タイプのQWidgetのQtのウィンドウのタイトルバーにあるヘルプボタンを作成するにはQt

myWindow->setWindowFlags(Qt::WindowContextHelpButtonHint); 

これが正常に動作します。

ウィンドウの同じ種類のタイトルバーにある最小化ボタンを作るために、私は次のように実行します。

myWindow->setWindowFlags(Qt::WindowMinimizeButtonHint); 

これも正常に動作します。

私がしたいことは、同じウィンドウのタイトルバーにヘルプボタンと最小化ボタンの両方を持つことです。そのために、私はフラグを組み合わせようとしました:

myWindow->setWindowFlags(Qt::WindowContextHelpButtonHint | Qt::WindowMinimizeButtonHint); 

これは、少なくともWindowsではヘルプボタンではなく、最小化ボタンのみを表示します。両方のボタンを同じタイトルバーに表示するにはどうすればよいですか?

答えて

3

残念ながら、これはウィンドウでは不可能です。

  • Qt::WindowMinimizeButtonHintWS_MINIMIZEBOXウィンドウスタイルを追加することによって実現され、hereを参照してください:ここではその理由です。
  • Qt::WindowContextHelpButtonHintは、WS_EX_CONTEXTHELP拡張ウィンドウスタイルを追加することで実装されます。hereを参照してください。 WS_EX_CONTEXTHELPのための参照から

WS_EX_CONTEXTHELPWS_MAXIMIZEBOXまたは WS_MINIMIZEBOXスタイルで使用することはできません。

したがって、最小化ボタン[ - ]とコンテキストヘルプボタン[ - ]を使用してウィンドウを作成することはできません。 ]をクリックします。

本当にそうしたい場合は、フレームレスウィンドウを使用し、独自のカスタムフレームを提供する必要があります。

注:この回答はWindowsプラットフォームのみについてのものです。

関連する問題