1

我想在按下按钮 1 时显示名为 image1 的图像,按下按钮 2 时显示名为 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() 的 insted 什么函数?

4

2 回答 2

3

您必须为每个按钮的 clicked 信号和 do image.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 回答