2011-11-25 113 views
8

クラスQWidgetを使用してメインウィンドウを作成し、Qt :: CustomizeWindowHint(タイトルバーを無効にする)にウィンドウフラグを設定します。しかし、私が問題を発見したときよりも、Windowsタスクバーのプログラムボタンをクリックすると、プログラムは最小化されず、最大化されません。この問題を解決するにはどうすればよいですか?私はWindows 7を使用します。申し訳ありません4私の悪い英語。Qt C++最小化と最大化ウィンドウ

答えて

12

、CustomizeWindowHint.Whenは、このウィンドウのフラグを使用する::のQtの機能ですあなたはほとんどwindow.Whatをコントロールすることはできませんあなたが試すことができ、あなたの窓に二つのボタンを追加し、showMaximized(に接続している)showMinimized( )ボタンをクリックしてウィンドウを最大化または最小化することができます。

+0

回答ありがとうございます。私は自分のプログラムでボタンを作って(最小限にして最大限に)、うまく動作します。しかし、私はまだタスクバーのボタンをクリックして、プログラムのウィンドウを最小化することはできません。ウィンドウからタイトルバーを削除できますが、機能を最小限に抑えることはできませんか? – Outsider

+0

あなたが使用しているウインドウのフラグはマウスイベントを無効にするだけです。つまり、ウインドウをクリックすると、Windowsはウインドウを 'ヒット'する代わりにパススルーさせます。試したい場合は、Qtを使う必要があります: :FramelessWindowHintと独自のマウスイベント関数を再実装してください。この記事はあなたに役立ちます:[リンク] http://blog.csdn.net/yiyaaixuexi/article/details/6362865 @Ramix – user957121

3

この回答はもう少しですが、私は同じ挑戦に直面して解決策を見つけることができました。多分誰かのために役立つ。前述のように、Qt::CustomizeWindowHintの代わりにQt::FramelessWindowHintを指定する必要があります。これにより、ウィンドウのタイトルと枠線も非表示になります。最小化/最大化機能をさらに持たせるために、Qt::WindowSystemMenuHint,Qt::WindowMinimizeButtonHintおよびQt::WindowMaximizeButtonHintと指定しました。それでおしまい!

関連する問題