2011-07-27 4 views
2

GUIから変更したい変数があります。変数は、bool,long long,double,char *の4種類である。種類ごとに異なるウィジェットが欲しかっされていますchar* Qtの.NETプロパティシート?助言がありますか?

ためdouble

  • にQLineEditためlong long
  • QDoubleSpinBoxためbool
  • QSpinBoxため

    • QCheckBoxそれともchar*std::stringに変更 - ありません問題。

      私はさまざまなタイプのN個のパラメータに対してN行を描くことができるウィジェットが必要です。各変数はGUIで表示するための名前を持つことができます。

      自分のウィジェットを実装しましたが、このタスクの「標準的な解決策」を探しています。私のインプラント:http://savepic.net/1742263.png

      Qtデザイナーのプロパティフォームのようなものがありますか?

  • +4

    これは役立ちます:http://stackoverflow.com/questions/1290838/best-qt-widget-to-use-for-properties-window – Rob

    答えて

    1

    QWidgetの独自のサブクラスを作成して、独自の「プロパティウィジェット」を作成します。これには、QLabelと変数タイプに対応するウィジェットがあります。カスタム "プロパティウィジェット"をアプリケーションに追加します。あなただけでしょう、あなたがあなたのアプリケーションにプロパティウィジェットを追加する必要があるならば、

    class BoolPropertyWidget : public QWidget 
    { 
        QHBoxLayout layout; 
        QLabel label; 
    public: 
        QCheckBox value; //if you would like to access the actual bool value, you can just use value.isChecked() 
    
        BoolPropertyWidget() { 
    
        //...do necessary adjustments layout, label and value here 
    
        layout.addWidget(&label); 
        layout.addWidget(&value); 
        setLayout(&layout); 
        } 
    }; 
    

    :あなたはbool型のための行を追加する必要がある場合例えば

    は、それはクラスは次のようになりますBoolPropertyWidgetのインスタンスを作成し、アプリケーションのレイアウトオブジェクトのaddWidget()メンバー関数を使用する必要があります。

    これにより、任意の種類の「プロパティウィジェット」を任意の数で作成することができます。

    カスタム "プロパティウィジェット"を追加した後にアプリケーションのサイズが適切に変更されない場合は、アプリケーションでadjustSize()を呼び出してみてください。

    関連する問題