对于刚接触QT的我来说,其实很陌生,一开始就来输入输出都搞不懂,当明白了qt的原理后,就发现其实qt做起界面来还是挺方面,容易操作的,一下是一次简单的实验,可以改进的地方还是有多,我写的只是一个很基础的操作像素的实验。
1.首先搭建起一个简单的图形界面
![](https://i-blog.csdnimg.cn/blog_migrate/121e77fccd0d647873725621942845fd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/cdc79a359727886f6c46e97f1d6437a8.png)
2.对两个按钮添加槽函数,一个是正常显示图片,另一个是把图片涂黑,再展现出来,代码如下
void MainWindow::on_pushButton_clicked()
{
//ui->label->setPixmap(QPixmap("1.png"));
pPixmap=new QPixmap("1.png");
ui->label->setPixmap(*pPixmap);
ui->pushButton->setDisabled(true);
}
void MainWindow::on_pushButton_2_clicked()
{
QImage image=pPixmap->toImage();
unsigned char *pData=image.bits();
int width=image.width();
int height=image.height();
for(int i=0;i<height;i++)
{
for(int j=0;j<width;j++)
{
*(pData+(i*width+j)*4)=0;
*(pData+(i*width+j)*4+1)=0;
*(pData+(i*width+j)*4+2)=0;
}
}
QPixmap ConvertPixmap=QPixmap::fromImage(image);
//memset(pData,width*height*4,0);
ui->label_2->setPixmap(ConvertPixmap);
}