0

これは私のコードです:

void Widget::update()
{
    if (a==1)
    {
        QPushButton button("Animated Button");
        button.show();

        QPropertyAnimation *animation =
                    new QPropertyAnimation(&button, "geometry");
        animation->setDuration(10000);
        animation->setStartValue(QRect(0, 0, 100, 30));
        animation->setEndValue(QRect(250, 250, 100, 30));

        animation->start();
        a++;
    }
}

void Widget::on_pushButton_clicked()
{
    a=1;
}

私はC++の初心者ですが、どうすればこれを機能させることができますか?

4

1 に答える 1

1

優れた C++ の本を読むか、少なくともhttp://www.cplusplus.com/doc/tutorial/を参照することをお勧めします。

まず、on_pushButton_clicked() で a==1 の後に update() を呼び出すつもりでしたか? 関数の最後にプッシュボタンが範囲外になるという問題もあるため、次のことを行う必要があります。

QPushButton *button = new QPushButton("Animated Button", this); 

最後に、update() は QWidget の仮想関数です (Widget が派生すると思いますか?)。なぜそれを上書きするのですか?おそらく、代わりに startAnimatinon() のような名前を付けたいと思うでしょう。

于 2012-05-25T20:04:16.443 に答える