QPainter painter(this); painter.drawPixmap(0,0,pix);的作用
时间: 2023-06-05 21:07:54 浏览: 193
这段代码的作用是在当前窗口中绘制一个图片。QPainter是Qt库中的一个绘图类,它提供了绘制各种图形、文本和图像的方法,而drawPixmap()则是其中的一个方法,可以在指定的位置绘制一个由QPixmap对象表示的图像。在这段代码中,this代表当前窗口,而pix则是一个QPixmap对象,表示要绘制的图片。调用painter的drawPixmap()方法可以在窗口中绘制这个图片。
相关问题
QPainter painter(this); QPixmap pix("://image/01.bmp"); painter.drawPixmap(0,0,this->width(),this->height(),pix); //背景图标
这段代码是在Qt中利用QPainter绘制背景图标的代码,具体解释如下:
1. `QPainter painter(this);`:创建一个QPainter对象,并传入了`this`指针,表示该画笔将在当前窗口上进行绘制操作。
2. `QPixmap pix("://image/01.bmp");`:创建了一个QPixmap对象,加载了名称为"01.bmp"的图片资源。
3. `painter.drawPixmap(0,0,this->width(),this->height(),pix);`:使用QPainter对象的drawPixmap()方法,将加载的图片资源绘制在窗口上。其中,0和0表示绘制的起点坐标,this->width()和this->height()表示绘制的宽度和高度,pix表示要绘制的图片资源。
这样就可以在Qt窗口中绘制指定的背景图片了。
void drawBoard::resizeEvent(QResizeEvent *event) { QPixmap *new_pix = new QPixmap(event->size()); new_pix->fill(Qt::white); QPainter painter(new_pix); painter.drawPixmap(0, 0, *pix); delete pix; pix = new_pix; update(); }
这段代码是一个Qt程序中的函数,用于当绘图区域大小发生变化时进行相应的操作。具体来讲,函数的功能是:
1. 创建一个新的QPixmap对象new_pix,其大小与绘图区域相同,并将其填充为白色。
2. 创建一个QPainter对象,将原来的pix对象绘制到新的QPixmap对象new_pix上。
3. 删除原来的pix对象,并将pix指向新的QPixmap对象new_pix。
4. 调用update()函数更新绘图。
这段代码的作用是保证绘图区域大小改变时,绘图能够自适应大小。同时,通过将原来的绘图内容保存到新的QPixmap对象中,可以保证在绘图区域大小改变时不会丢失原来的绘图内容。
阅读全文