2012-08-03 86 views
1

我的Qt項目需要一個類似於Skype的聊天窗口。即聊天記錄窗口,而不是用戶輸入他的文本的地方。我想使用某種HTML視圖以編程方式添加來自聊天方的聊天文本。需要聊天窗口的HTML視圖

一些要求:

  1. 它必須被很好地格式化,對CSS的支持,我可以適用於它..
  2. 我必須滾動控制 - 例如當新的聊天行進入時,自動滾動到聊天結束,即使我因爲某種原因正在滾動。
  3. 它必須允許一個完整的鼠標副本,就像Skype一樣。

QWebView會做滾刀嗎?我沒有看到滾動控制API,或者能夠「追加」新的文本行。每次換行時,我都需要使用「setHTML」重新創建並重新提交HTML嗎?

任何意見將不勝感激。

回答

1

您可能要考慮使用QTextEditQTextBrowser。這兩個小部件都支持HTML(儘管它可能有點有限)。這些小部件將允許您逐行追加HTML。它們也從QAbstractScrollArea繼承,它可以讓你訪問他們的滾動條。我不確定他們是否會支持CSS,但是他們確實支持Qt's style sheets,如果您無法使CSS工作,這可能對您有用。他們還提供開箱即用的複製,剪切,粘貼,撤消和重做(儘管您可能想爲您的案例進行自定義)。