Tôi đang phát triển một công cụ IM, như một phần của nó, tôi phải phát triển một BubbleChatWidget
mà tất cả các mục tin nhắn có một hình ảnh nền bubble-like
.I nghĩ rằng tôi có thể đạt được mục tiêu của mình với QTextEidt
, nhưng tôi không biết làm thế nào để cho 'QTextFrame' hoặc QTextBlock
hình nền.Làm thế nào để cung cấp cho QTextFrame hoặc QTextBlock một hình ảnh nền trong QTextEdit?
Vì vậy, câu hỏi của tôi là làm thế nào để cung cấp cho QTextFrame
hoặc QTextBlock
một background-image trong QTextEdit
? Nếu QTextEdit
không thể đáp ứng nhu cầu của tôi, làm thế nào để đạt được mục tiêu của tôi với Qt techniques
khác?
BubbleChatWidget
Tôi muốn có thể chứa clickable
văn bản hoặc hình ảnh.Và bạn không thể quên thực tế rằng BubbleChatWidget
có thể chứa hàng nghìn mục.
Hình ảnh dưới đây hiển thị những gì tôi muốn.
Cảm ơn câu trả lời chi tiết của bạn.Chúng tôi chỉ đang tìm cách tốt hơn sử dụng một tiện ích riêng cho từng mục tin nhắn trước khi chúng tôi sử dụng cách đơn giản nhưng không hiệu quả. – waterd
Trong trường hợp đó và nếu bạn muốn giữ mọi thứ đúng và dễ dàng, tại sao không sử dụng 'QListView', cung cấp thông báo trong mô hình tùy chỉnh và triển khai đại biểu của riêng bạn trình bày dữ liệu theo cách bạn muốn. Lượt xem có trách nhiệm tạo và phát hành các đại biểu khi cần. – mhcuervo
Một cách tiếp cận cấp thấp hơn bạn có thể làm theo là thực hiện widget của riêng bạn hoặc 'QTextEdit' và hiển thị nội dung trong' paintEvent() 'của nó. (Điều đó có thể được thực hiện theo phong cách nhận thức nếu bạn muốn) 'Mã QBalloonTip' có thể được giúp đỡ. – mhcuervo