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

一、可视化界面设计
在这里插入图片描述二、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文件重新进行编译一下就可以了。
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值