16,173
社区成员
发帖
与我相关
我的任务
分享
void ChatWindow::mousePressEvent(QMouseEvent *e)
{
if(e->button() == Qt::LeftButton){
flag = true;
repaint();
}
}
void ChatWindow::mouseReleaseEvent(QMouseEvent *e)
{
if(e->button() == Qt::LeftButton){
flag = false;
repaint();
}
}
//只需要在鼠标事件中,repaint就可以了,paintEvent中根据标志来重绘。
void ChatWindow::paintEvent(QPaintEvent *e)
{
QPainter p(this);
if(flag){
p.setPen(Qt::red);
p.setPen(Qt::DashDotLine );
p.drawLine(this->rect().x(),this->rect().y(),
this->rect().width() / 2,this->rect().height() / 2);
}
return QWidget::paintEvent(e);
}