Tôi không thể tìm được cách thích hợp để vẽ một đường thẳng nghiêng mà không bị quá pixel trong Qt với đối tượng QPainterPath
.Làm mịn đường nghiêng
Lưu ý rằng tôi biết việc vẽ đường dẫn trong hàm paintEvent
là không hợp lý, tôi đặt nó ở đó vì mục đích đơn giản. Tôi đang cố vẽ đường thẳng trực tiếp trong widget trung tâm.
Sau đây là một đoạn mã của tôi:
void MyObject::paintEvent(QPaintEvent *)
{
QPainterPath aPath;
aPath.moveTo(40.0, 60.0); //random values to try
aPath.lineTo(254, 354.0);
QPainter painter(this);
painter.setPen(QPen(QColor(20, 20, 200), 10, Qt::SolidLine));
painter.drawPath(aPath);
}
Và đây là kết quả tôi nhận được:
Đó là khủng khiếp! Các đường nét đẹp duy nhất tôi có thể vẽ là các đường thẳng ngang, dọc hoặc 45 ° ...
bạn nên bao gồm các phần có liên quan trực tiếp trong câu hỏi. Liên kết có thể phá vỡ bất cứ lúc nào – user463035818
Tôi đã thêm một số mã cụ thể làm ví dụ, nhưng tài liệu Qt của bên thứ nhất đi vào chi tiết hơn tôi có thể viết ra ở đây – csunday95
QPainter :: Antialiasing hint đã thực hiện thủ thuật. Cảm ơn, kết quả trông chính xác như tôi muốn. – Getter