QT——事件处理,图片的打开与保存

一、可视化界面设计
QT——事件处理,图片的打开与保存_第1张图片二、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打开图片
QT——事件处理,图片的打开与保存_第2张图片QT——事件处理,图片的打开与保存_第3张图片
QT——事件处理,图片的打开与保存_第4张图片4.2保存图片
QT——事件处理,图片的打开与保存_第5张图片
QT——事件处理,图片的打开与保存_第6张图片
五、遇到的问题
在connect时,这两个按钮名字经常报错,提示“变量未定义”。
QT——事件处理,图片的打开与保存_第7张图片我们只需要给.ui文件重新进行编译一下就可以了。
QT——事件处理,图片的打开与保存_第8张图片

你可能感兴趣的:(QT学习,qt)