我正在嘗試繪制使用 4 個控制點繪制曲線的貝塞爾曲線。但是,當我運行我的程式時,用滑鼠單擊 4 次后,我只看到一個像素被繪制,我的代碼中是否缺少某些內容?我怎樣才能讓它正常作業?
void MyWindow::mousePressEvent(QMouseEvent *event)
{
if(event->button() == Qt::LeftButton)
{
x0 = event->x();
y0 = event->y();
point.setX(x0);
point.setY(y0);
std::vector<QPoint> myv;
myv.push_back(point);
counter =1;
std::cout<<counter<<std::endl;
if(counter%4==0) {
drawBezier(myv[0], myv[1], myv[2], myv[3]);
}
}
update();
}

uj5u.com熱心網友回復:
myv是區域變數,您不會將其狀態保存到新的mousePressEvent
獲取一些“除錯”資訊并查看您在drawBezier函式中收到的內容。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/434935.html
