对于刚接触QT的我来说,其实很陌生,一开始就来输入输出都搞不懂,当明白了qt的原理后,就发现其实qt做起界面来还是挺方面,容易操作的,一下是一次简单的实验,可以改进的地方还是有多,我写的只是一个很基础的操作像素的实验。
1.首先搭建起一个简单的图形界面


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);
}
3.使用了slider滑条来控制图片像素的变化

拖动滑条,可以看到图片从全黑到原图的一个变化过程,代码如下:
<