Mac OS X には、標準のカラー ピッキング ボタンがあります (Cocoa クラス: NSColorWell)。
Qt で私の製品の Mac バージョンにこれらを使用する方法はありますか?
Mac OS X 10.6 で Qt 4.8.1 を使用しています。
QMacCocoaViewContainerは、このようなシナリオを処理できます。基本的な使い方は次のとおりです。
class MacControl : public QMacCocoaViewContainer {
Q_OBJECT
public:
explicit MacControl(QWidget *parent = NULL)
: QMacCocoaViewContainer(NULL, parent) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSColorWell *colors = [[NSColorWell alloc] init];
// set properties on color well
setCocoaView(color);
[colors release];
[pool release];
}
実際には、複数のプラットフォーム用にコンパイルしている場合、おそらくすべてを 1 つのファイルに入れることはできません。任意のプラットフォームから呼び出すことができるメソッドを宣言するヘッダー ファイル、cpp
非 Mac 用の通常の Qt カラー ダイアログを呼び出してメソッドを実装するmm
ファイル、および Mac 固有のウィジェットを作成して表示するファイルがあります。