DE(Unity、またはOSX)のいくつかはタイトルバーの左側にコントロールボタン(最小化、最大化、閉じる)を配置します。他の場所は右側に配置します(Windowsの場合など)。どのようにQtで現在の環境で使用されている側を検出できますか?これを行う「Qt方法」がない場合、どのようにこのプラットフォーム固有の方法(Linux用)を行うことができますか?コントロールバーの位置をQt(X11)のウィンドウタイトルバーに表示
答えて
Qtは、実行中のウィンドウマネージャについて何も知らないのですか?これは、の内容をWMにのみ提供します。 WMのpidは名前で存在する場合Qt - how to detect whether the application is running on GNOME or KDE?
は基本的に、彼らは検出が、WMのプロセス名がある時点で名前を変更してしまった場合、あなたのコードが壊れます:
あなたはこれを見を持っている場合があります。 (種類のLinuxへの特異的である)それ以外は
は、Qtは確かにそのため、あなたがウィンドウコントロールが
不幸にも私にとって新しいことはありません。私はボタンの位置を取得するためのx11 APIのいくつかの種類が欲しいです。 – Evgeny
XorgはDEについても何も知らない。入力デバイスとグラフィックスレンダリングに必要なプロトコルを「サーバーとして」提供します。また、明日のWaylandが標準になると、あなたのx11コールは中断されます。ところで、AFAIK、KDEのウィンドウテーマを使うと、どこでもコントロールボタンを配置することができます。おそらく、あなたはLinuxシステムがどのように動作しているかについて、あなたの心を明確にする必要があります。 –
他の人が言っていたことに加えて、これに加えて:ウェストンとウェストンを使用すると、実際にはウィンドウの装飾がクライアント側に描画されるため、すべてのウィンドウでボタンを配置することさえできます。詳細については、こちらをご覧ください:https://blog.martin-graesslin.com/blog/2013/02/client-side-window-decorations-and-wayland/ –
- 1. 現在の位置に表示位置を表示+地図表示
- 2. 表示千の位置
- 3. Qtアプリケーションアクセントのピクセル位置
- 4. 位置サービスを無効にしたユーザー位置を表示
- 5. MPmoviePlayerControllerのコントロールバーを非表示にする方法
- 6. CSS表示:ブロックと位置:
- 7. ビルドリーグテーブルと表示位置
- 8. PHPエラー表示位置。
- 9. Tawkto表示位置固定
- 10. jqueryアニメーションの位置をパーセンテージで表示
- 11. Jenkinsのエラー位置を表示
- 12. MapViewでユーザーの位置を表示
- 13. qt scrollviewの位置を取得
- 14. カスタムテーブルのUILabelの位置表示セル
- 15. Androidリサイクラーの表示アイテムの位置
- 16. 位置:cssで固定:スクロールバーの位置に応じて、divは別の位置に表示されます
- 17. MKMapView現在の位置表示
- 18. ウィンドウタイトルバーのボタン
- 19. 表示または非表示のチェックボックスすべての位置
- 20. Qt QGraphicViewとQGraphicSceneマウスの位置
- 21. qt - ネットワークベースの位置情報取得
- 22. クリックした位置を表示
- 23. はネイティブリアクト - TouchableOpacity絶対位置を表示
- 24. iOSのtableViewCellの現在の位置を表示するには
- 25. 現在の位置のピンを地図上に表示する
- 26. ListViewスクロールバーのサムの位置を画面に表示
- 27. Google Maps APIマーカーの位置を非表示のフィールドに戻す
- 28. Cのリッチテキストボックスにカーソルの位置を表示する方法
- 29. ユーザの位置に基づいてMKMapViewのアノテーションを表示
- 30. Windowsのコンソールをx、yの位置に表示する
私も想像することはできません変位推測することができ、あなたはそれが(see documentation)上で実行されているプラットフォームを伝えることができますこれは可能です。 X11では、コントロールボタンの配置はウィンドウマネージャの対象ですか?私はウィンドウマネージャのテーマがこれにも影響を与えるかどうかはわかりません(ウィンドウマネージャに依存するかもしれません)。しかし、私が正しいことを覚えていれば、ウインドウマネージャーの詳細は、いくつかの標準化されたプロトコルのものを除いて、ウィジェットAPI(つまりあなたの場合はQt)の範囲外です。 Googleの「icccm」が役立つかもしれません。 – Scheff
ボタンがまったくないか、タイトルバーが縦になっている場合や、ウィンドウタイトルに使用されている言語に応じてボタンが反転する場合があります。基本的には、あなたが想像することができる任意の狂った配置は、実際にいくつかのウィンドウマネージャーに存在するか、簡単に追加することができます。 –