Qt中关于QPainter的使用
各位大神,,这样的paintEvent函数为什么不能在满足条件后立即绘制直线?而是在当窗口切换之后再切换回来时直线就绘制成功了,为什么?输出信息重复输出多次voidWid...
各位大神,,这样的paintEvent函数为什么不能在满足条件后立即绘制直线?而是在当窗口切换之后再切换回来时直线就绘制成功了,为什么?输出信息重复输出多次
void Widget::paintEvent(QPaintEvent *event)
{
if(ui->r1->isChecked()&&ui->r2->isChecked())
{
QPainter painter(this);
QPoint pos1= ui->r1->pos();
QPoint pos2= ui->r2->pos();
int x1= pos1.x()+5;
int y1=pos1.y()+5;
int x2= pos2.x()+5;
int y2= pos2.y()+5;
painter.drawLine(QPoint(x1,y1),QPoint(x2,y2));
qDebug()<<"this is Qpainter!"<<endl;
}
}
ui->r1和ui->r2是两个radiobutton(不互斥可以同时选择) 展开
void Widget::paintEvent(QPaintEvent *event)
{
if(ui->r1->isChecked()&&ui->r2->isChecked())
{
QPainter painter(this);
QPoint pos1= ui->r1->pos();
QPoint pos2= ui->r2->pos();
int x1= pos1.x()+5;
int y1=pos1.y()+5;
int x2= pos2.x()+5;
int y2= pos2.y()+5;
painter.drawLine(QPoint(x1,y1),QPoint(x2,y2));
qDebug()<<"this is Qpainter!"<<endl;
}
}
ui->r1和ui->r2是两个radiobutton(不互斥可以同时选择) 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询