QT画线问题

这是网上找到的程序,线是画在mainwindow上的,现在我有一个qgraphics,怎么改能够画在scene上?voidMainWindow::paintEvent(Q... 这是网上找到的程序,线是画在mainwindow上的,现在我有一个qgraphics,怎么改能够画在scene上?

void MainWindow::paintEvent(QPaintEvent *w)
{
QPainter p(this);
p.setPen(QPen(Qt::red,10));
QPointF pt(19,19);
QPointF pts[10];
int t=QTime::currentTime().second();
qsrand(t);
for(int i=0;i<10;i++)
{

pt.setX(qrand()%200);
pt.setY(qrand()%300);
pts[i]=pt;
}
p.drawPolyline(pts,10);
}
展开
 我来答
aijiangaa111
2015-10-20 · TA获得超过995个赞
知道小有建树答主
回答量:430
采纳率:87%
帮助的人:129万
展开全部
QPixmap *m_pbgImage;
m_pbgImage = new QPixmap(strImage);

void MainWindow::paintEvent(QPaintEvent *e)
{

QMainWindow::paintEvent(e);

QPainter painter(this);

if (m_pbgImage)

{

painter.drawPixmap(0, 0, this->width (), this->height (), *m_pbgImage);

}
}

////类似这样?
追问
刚接触QT……看不懂……能稍微详细一点吗?
追答
你只是想画一张图片么?
你在头文件:.h
QPixmap *m_pbgImage;

然后在MainWindow构造函数里,

QString strImage = "C:\aaa.png"; //图片路径
m_pbgImage = new QPixmap(strImage);//new

然后在刷新函数
void MainWindow::paintEvent(QPaintEvent *e)
{

QMainWindow::paintEvent(e);

QPainter painter(this);

if (m_pbgImage)
{

painter.drawPixmap(0, 0, this->width (), this->height (), *m_pbgImage);
//参数1,从X坐标0像素开始
//参数2,从Y坐标0像素开始
//3,表示你要填充区域的宽度
//4,表示填充高度
//5,m_pbgImage,表示填充的图片对象
//就是把一张图片刷到一块矩形区域

}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式