2013-12-09 105 views
1

我一直在嘗試使用textBrowser以在我的應用程序中顯示聊天消息。我已經設置了啓用HTML的textBrowser。那麼我追加每一個消息到textBrowser像這樣:Qt:顯示聊天消息的最佳控制

ui->textBrowser->append(QString().sprintf("<div style=\"border-bottom:1px solid #eeeeee; background-color:#ffffff;display:block;\"><font color=\"red\"> %s</font></div>",msg.toStdString().c_str())); 

然而,我在我可以應用到每個附加元素是什麼CSS很有限。例如; - 邊境不起作用 - 顯示塊不起作用 - 等

現在我相當肯定,textBrowser只是沒有我需要的,我的目標在很大程度上創建一個聊天消息的力量像Skype一樣。

什麼是用於此目的的最佳控制措施?

一些想法,我到目前爲止有: - 使用scrollArea和追加widgets他們 內 - (如果可能不知道的風格是我喜歡的方式)使用listView

Key elements i want to include in each chat message are: 
- Time 
- Avatar picture 
- Name 
- Text message 

任何想法這裏最好的方法是什麼?

編輯

不幸的是,因爲我仍然是新來的,我不能附上照片呢。

回答

2

我想你可以簡單地使用WebKit(WebView)組件。這將允許你做任何你需要的和更多的事情。樣式和佈局像普通的HTML/CSS頁面一樣完成,然後您可以通過JavaScript將它集成到應用程序後端。

+0

是的,'QWebView'功能強大且易於使用。但是a)並非所有的HTML代碼都能像Chrome/Firefox /等一樣工作。 b)它附加了額外的依賴項(QtWebkit庫)c)在移動平臺下仍然不能工作。但我認爲OP不關心這個:) – eraxillan

+0

所以我會爲每個消息添加一個新的div到'WebView'中? – user3082584

+0

這是插入的最佳方法嗎? http://stackoverflow.com/questions/17865040/qt-how-to-insert-html-into-an-editable-qwebview-at-the-cursor-position – user3082584