私は qt を初めて使用します。私の最初のアプリはシンプルな UI を設計することです。UI にはビデオ アプリを制御するためのカスタム ウィジェット (ラベルと qsliser とスピン) が必要なので、このようなものを書きます。
class Controls : public QWidget
{
private:
QHBoxLayout *Layout ;
string Controlname;
QLabel *Label ;
QSpinBox *Spin ;
public:
QSlider *Slider ;
Controls(QLayout &Parent , string name , const int &Default_value);
Controls(const Controls ©);
explicit Controls();
~Controls(){}
QLabel * Get_Label() const { return Label ; }
QSlider *Get_Slider() const { return Slider ; }
QSpinBox * Get_Spin()const { return Spin ; }
QHBoxLayout * Get_Layout() {return Layout;}
void SetValue(const int &newvalue);
Controls &operator= (const Controls ©);
};
このウィジェットからオブジェクトを作成するには、次のようにします。
QVBoxLayout layout ;
Controls *gg =new Controls (layout , "test", 1);
Controls *gg2 =new Controls (layout , "test2", 4);
今、私はこのオブジェクトをqsliderarea内に作成したいので、これを行います
QScrollArea gt ;
gt.setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
gt.setWidget(gg);
gt.setWidget(gg2);
gt.show();
しかし、アプリを実行すると、スライダーエリアが表示されますが、その中にコントロールはありません。私のコードの問題は何ですか