3

私の目的は、さまざまなコントロール(ボタンなど)を含むQVBoxLayoutを内部に持つスクロール可能なコントロールを作成することです。そのコントロールは*.uiフォームに配置されます。そのコントロールのコンストラクターで、次のコードを記述します。

    MyScrollArea::MyScrollArea(QWidget *parent) :
        QScrollArea(parent)
    {
        // create the scrollable container

        this->container = new QWidget();  // container widget member
        this->container->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
        this->container->setContentsMargins(QMargins(0,0,0,0));

        this->content = new QVBoxLayout(); // layout member
        this->content->setMargin(0);
        this->content->setSpacing(0);

        for (int i=0; i<100; i++)
        {
            QPushButton * widget = new QPushButton();
            widget->setText("button");
            widget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
            this->content->addWidget(widget);
        }

        this->container->setLayout(this->content);
        this->content->layout();

        this->setWidget(this->container);
   }

私の問題:ボタンのサイズは固定されており、水平方向に拡張されません。サイズは固定されています。それらが入っている行を埋めるために水平方向に拡張してほしいのですが、親コンテナ全体で水平方向に拡張するにはどうすればよいですか?

4

1 に答える 1

5

電話してみてくださいthis->setWidgetResizable(true);

于 2012-06-05T22:12:52.177 に答える