1

Mac OS X には、標準のカラー ピッキング ボタンがあります (Cocoa クラス: NSColorWell)。

Qt で私の製品の Mac バージョンにこれらを使用する方法はありますか?

Mac OS X 10.6 で Qt 4.8.1 を使用しています。

4

1 に答える 1

2

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 固有のウィジェットを作成して表示するファイルがあります。

于 2012-05-07T12:32:10.217 に答える