一、可视化界面设计
二、connect进行信号和槽的连接
connect( //connect连接,打开图片
ui.openButton, //按钮的名字
SIGNAL (clicked(bool) ),//信号对应的函数,查文本
this,
SLOT(OnOpenClicked(bool) )//槽对应的函数,可以实现响应功能
);
connect( //connect连接 保存图片
ui.saveButton, //按钮的名字
SIGNAL (clicked(bool) ),//信号对应的函数,查文本
this,
SLOT(OnSaveClicked(bool) )//槽对应的函数,可以实现响应功能
);
三、加上处理函数(槽)
int First_QT::OnOpenClicked(bool checked)//要实现的函数
{
QString fileName;
fileName = QFileDialog::getOpenFileName(this,tr("Select Image"),"",tr("Images(*.png *.bmp *.jpg *.tif *.gif);;AllFiles(*.*)"));
if(fileName.isEmpty())
{
return 0;
}
else
{
QImage img;
if(!(img.load(fileName))) //加载图像
{
//QMessageBox::information(this, tr("打开图像失败"),tr("打开图像失败!"));
return 0;
}
ui.inputLabel->setPixmap(QPixmap::fromImage(img));
}
return 0;
}
int First_QT::OnSaveClicked(bool checked)//要实现的函数
{
QString fileName1 = QFileDialog::getSaveFileName(this,tr("Save Image"),"",tr("Images (*.png *.bmp *.jpg)")); //选择路径
ui.inputLabel->pixmap()->toImage().save(fileName1);
return 0;
}
四、运行结果
4.1打开图片
4.2保存图片
五、遇到的问题
在connect时,这两个按钮名字经常报错,提示“变量未定义”。
我们只需要给.ui文件重新进行编译一下就可以了。