優れたスキニング機能を持つクロスプラットフォーム C++ GUI フレームワークとは?
そのため、GUI をカスタマイズする機能を (そしてユーザーに) 与えることができました。
優れたスキニング機能を持つクロスプラットフォーム C++ GUI フレームワークとは?
そのため、GUI をカスタマイズする機能を (そしてユーザーに) 与えることができました。
Qt フレームワークでは、スタイル シート (css を使用) を使用してウィジェットの外観を変更できます。http://qt-project.org/doc/qt-5.0/qtwidgets/stylesheet.htmlを参照してください。
編集: wxSkinのようなものを探しているので、最初にそれを使用してみませんか?
次に、wxSkin を使用したくない場合は、Juce をご覧ください。Qt の目標はテーマを設定できる GUI ではありませんが、ウィンドウ マスクとスタイルシートはそれらを実装する方法です。Qt-Apps.org にQSkingObject プロジェクトがありますが、前回確認したとき、コードの品質が低いことがわかりました (もちろん、これは主観的で議論の余地があります)。
GPLと商用のデュアルライセンスを持つJuceを見ることができます。
Qt (LGPL) にはウィジェットのスタイルを設定するためのスタイルシートがありますが、フレームレス ウィンドウを描画して自分で装飾を描画するように指示しない限り、オペレーティング システムはウィンドウの装飾を描画できます。
ただし、スキン アプリケーション ルートに進む前によく考えてください。典型的な例は、フレームレス ウィンドウを使用し、独自のタイトルバーとウィンドウ ボタンをペイントしたSongbird (XUL で作成) です。その後、多くのユーザーが不満を漏らした後、ペダルを戻してシステム ウィンドウの装飾に切り替えました。
Qt には、 Qt スタイル シートなどを使用した便利なサポートがあります。Qt labs ブログには、アイデアを提供するサンプル投稿がありました。
他の人が言うように、Qt のスタイルシートはうまく機能します。
QStyle をオーバーライドして、Qt で描画をカスタマイズするオプションもあります。ユーザーがプラグイン (QStyle 実装のエクスポート) を使用して、高度にカスタマイズできるようにすることができます。
(それでは、あなたのユーザーが C++ コーダーかどうかはわかりません...)
XULRunnerに投票する必要があるのは、それが非常にスキン可能であるためです。ただし、これは純粋な C++ ではありません。アプリケーション コードはJavaScriptで記述されますが、拡張機能は C++ XPCOMコンポーネントとして実装できます。
私は過去にJuce (Windows、Linux、および Mac OS X と互換性があります) を使用しましたが、それを可能にするLookAndFeelクラス (名前が大好きです) があります。