1

ボタン1が押されたときにimage1と呼ばれる画像を表示し、button2が押されたときにimage2と呼ばれる画像を表示したい。これを行うには、「if」ステートメントを使用します。次のコードを書きました。

if(ui->button1->clicked())
image.load(":/CondScrnIns.png");
else if(ui->button2->clicked())
image.load(":/CondScrnInsCentric.png");

しかし、これらのステートメントを実行しているときに、次のエラーが発生します。

void QAbstractButton::clicked(bool) is protected

clicked() の代わりにどの関数を使用すればよいですか??

4

2 に答える 2

3

各ボタンのクリックされた信号用のスロットを作成し、そこにdoimage.loadを作成する必要があります。

connect(button1, SIGNAL( clicked() ), this, SLOT(button1Clicked()));
connect(button2, SIGNAL( clicked() ), this, SLOT(button2Clicked()));

次に、button1Clicked()およびbutton2Clicked()スロットにコードを挿入して、画像を読み込んだり、ダイアログボックスのサイズを変更したりできます。

于 2012-09-21T05:55:41.270 に答える
0

image.load()それぞれのイベント ハンドラにステートメントを記述する必要があります。button->clicked()そのようなifステートメントではチェックできません。

このページを見てください: http://qt-project.org/forums/viewthread/2758

于 2012-09-21T05:44:00.240 に答える