私たちのデスクトップアプリケーションは、Mac、Windows、Linuxで動作する必要があります。だから私たちはQtを選んだのです。以前は、3つのプラットフォーム用に3つのコードベースが用意されていました。Qt:Philosophical UI Designジレンマ
以前の実装では、[閉じる]、[最小化]、[最大化]ボタンを使用して独自の「ウィンドウキャプション」を作成しました。 3つのプラットフォームすべてで同じように見えます。
今回は周りが分かりません。私はQtに各プラットフォームのデフォルトのキャプションとキャプションボタン、長方形の "X"、 "_"ウィンドウのボタン、Macの左側の丸いボタン、そしてLinux/Ubuntuなどと一緒に使うことを考えました。
これは賢明な決定ですか?私がそこに押し込んでいることの1つは、私が書いているウィンドウクラスのサイズ変更コード、ドラッグコード、ボタンの作業、そしてあなた自身のウィンドウキャプションを書くことに伴うすべてのものを書かなければならないということです。
キャプションを削除するために「Qt :: FramelessWindowHint」を使用すると、サイズ変更のグラップルが自動的に失われることに気付きました。その周りに道がありますか?また、独自のウィンドウドラッグコードの実装についてはどうでしょうか? (あなたが "ドラッグ可能なキャプション"として使用したいと思っていた領域を知っていれば、その領域のボタンをキャッチし、ドラッグモードに入り、マウスの動きを追跡し、デルタに従ってウインドウを動かす必要があるようです。 Qtには「すぐに」行うことができる仕組みがあるかどうか質問したいと思っていましたか?
聞いてください!任意の与えられたウィンドウシステムのユーザは、彼らが慣れていたルックアンドフィール(および配置)を持っています。これを逸脱すると、必要なアクションをどのように実行するかを理解するのが難しくなり、アプリケーションの使用が難しくなります。そして、この答えが述べたとおり、コーディングとサポートの削減は常に良いことです。 –
ありがとうございました。それは私には意味があり、これは私が上司に押し付けるものです。特別なボタンを使って "カスタムキャプション"をデザインしているグラフィックスアーティストは、高い天を叫ぶことはないと思います。 – JasonGenX