我要做一把直尺,用不规则窗体的方法,但存在很多问题,
代码如下:
void Ruler::paintEvent(QPaintEvent *)
{
QPixmap pix(800,100);
QPainter painter(&pix);
painter.setPen(Qt::red) ;
painter.drawLine(0,0,400,200);
//去锯齿
painter.setRenderHint(QPainter::Antialiasing);
painter.setViewport((width() - m_side) / 2, (height() - m_side) / 2,m_side, m_side);
painter.setWindow(-m_side/2, -m_side/2, m_side, m_side);
//中心点在坐标(width() / 2, height()/2)上。
painter.translate(m_portx, m_porty);
//中心坐标点改变了,portx,porty也要改变。
m_portx = m_portx - m_portx ;
m_porty = m_porty - m_porty ;
painter.drawPixmap(200,200,pix) ;
setMask(pix);
}
画出来的东西都是一点一点象素的,点击界面有时点到了是背后的窗口,而且窗口很闪,CPU利用率也很高,我要画的线条(直尺上的刻度)也不能显示出来,哪位大位知道这是什么情况啊,谁做过其关的
项目。