2012-05-07 9 views

答えて

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固有のウィジェットを作成して表示しますそれ。

関連する問題