用painEvent()和QPixmap()在QLabel上绘图
声明:本文原创,转载学习请注明出处!
现将代码贴出以供参考:
#include ...
#include ...
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
//显示图像,事件触发
void MainWindow::paintEvent(QPaintEvent *)
{
//QPainter painter(this);
QPainter painter;
int labelWid=ui->shapeLabel->width();
int labelHei=ui->shapeLabel->height();
QPixmap pix(labelWid,labelHei);//定义一个新的对象,并用给定的参数构建图像
pix.fill(Qt::transparent);//透明
painter.begin(&pix); //在pix上绘图, 附带重置属性
QPen pen1(Qt::red,5,Qt::DashLine,Qt::FlatCap,Qt::RoundJoin);
painter.s