2012-02-10 52 views
5

Tôi sử dụng QPainter để vẽText trên QPrinter; Tuy nhiên, có một vấn đề. Tôi hy vọng tôi có thể vẽ một văn bản đầy màu sắc. Ví dụ: vẽ "Hello World" trong đó chữ "H" màu xanh lục, "ello" có màu vàng, "Thế giới" có màu xanh dương.
Hiện tại, tôi gọi drawText 3 lần và sử dụng QPen khác nhau để thay đổi màu. Hơn nữa, tôi phải tính toán vị trí vẽ 3 lần. Cuối cùng, tôi không thể căn chỉnh một chuỗi trong một QRect vì tôi không vẽ một câu hoàn chỉnh. Có cách nào để giải quyết nó bằng một cách đơn giản không? Bất kỳ gợi ý được đánh giá cao! Cảm ơn!qt vẽ văn bản đầy màu sắc

Trả lời

4

Bạn có thể làm điều này bằng cách viết html ngay vào chuỗi văn bản của bạn, bao gồm các đặc tả CSS cho màu sắc.

Html in widget text

CSS within the html Sử dụng thẻ html style để truy cập này.

Chỉnh sửa: Để có được điều này trên QPaintDevice, hãy sử dụng QPainter::drawStaticText(). Nó hoạt động giống như drawText nhưng đọc văn bản đa dạng theo mặc định. Bạn cần phải #include <QStaticText> để sử dụng.

+0

Tôi vẽ một thứ gì đó trên QPrinter vì tôi muốn tạo một tệp pdf. Văn bản có thể được sử dụng bởi QPainter? – Arton

+0

@Anton Xem chỉnh sửa của tôi, tôi đã xác nhận rằng điều này hoạt động trong mã của riêng tôi. –

+0

Nó hoạt động tốt. Cảm ơn rất nhiều!! – Arton

Các vấn đề liên quan