最终的效果如下:
首先应该明白的是,鼠标作图,如果不是画直线而是任意的线,那么应该记录下每一个点的位置,然后这些点都记录下来,可以放在容器里面,之后进行画图,才能得到不规则的图形。
打开图片很简单:
void MainWindow::on_pushButton_clicked()
{
QString fileName=QFileDialog::getOpenFileName(this,tr("choose image"),".",tr("Images (*.jpg *.png)"));
if(fileName.isEmpty()){
return;
}
QImage image;
image.load(fileName);
ui->picLabel->setPixmap(QPixmap::fromImage(image));
}
重点需要重写鼠标画图的几个函数:
virtual void paintEvent(QPaintEvent *p) override;
vo