使用if语句

时间:2012-09-21 05:41:56

标签: qt signals signals-slots

我想在按下按钮1时显示名为image1的图像,在按下按钮2时显示图像2。为了做到这一点,我想使用'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()??

进行什么功能

2 个答案:

答案 0 :(得分:3)

您必须为每个按钮的点击信号和do image.load创建插槽。

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

然后在button1Clicked()和button2Clicked()插槽中,您可以输入代码来加载图像或调整对话框的大小。

答案 1 :(得分:0)

您需要在相应的事件处理程序中编写image.load()语句。您无法在if语句中检查button->clicked()

查看此页面:http://qt-project.org/forums/viewthread/2758