Tôi đã viết một hàm phải vẽ một vòng tròn màu đen đầy trên đồ họa của tôi. Chức năng vẽ một vòng tròn lót màu đen nhưng không được lấp đầy? Đây là chức năng của tôi:vẽ một vòng tròn đã điền đầy đủ
void World::damage(int x, int y)
{
QPainter painter(&worldImage);
painter.setBrush(QBrush(Qt::black));
painter.drawArc(x,y,150,50,0,16*360);
item = new QGraphicsPixmapItem(QPixmap::fromImage(worldImage));
this->addItem(item);
}
loại liên quan,
Xin chào, điều này có gây ra việc vẽ lại mọi lúc mà tiện ích đi vào chế độ xem hay người dùng chỉnh sửa một số phần khác của tiện ích con không? Sẽ không phải là đắt tiền? Không có cách nào để vẽ nó một lần và cho tất cả? – SexyBeast
Hệ thống sơn Qt cố gắng tối ưu hóa khi các sự kiện sơn được kích hoạt để giảm sự sơn lại không cần thiết càng nhiều càng tốt và đủ trong hầu hết các trường hợp. Nếu hoạt động sơn phức tạp hoặc thường xuyên được sơn lại, các tối ưu hóa có thể được giới thiệu khi bạn đề cập đến bằng cách vẽ lên một bản đồ pixmap và lưu vào bộ nhớ đệm. –