1

私のQtプロジェクトには、Skypeに似たチャットウィンドウが必要です。つまり、ユーザーがテキストを入力する場所ではなく、チャット履歴ウィンドウです。ある種のHTMLビューを使用して、チャットパーティからのチャットテキストをプログラムで追加することを考えました。

いくつかの要件:

  1. それはうまくフォーマットされている必要があります、私がそれに適用できるCSSのサポート。
  2. スクロール制御が必要です。たとえば、何らかの理由で現在上にスクロールしている場合でも、新しいチャット行が入ったときにチャットの最後まで自動スクロールします。
  3. Skypeと同じように、マウス全体のコピーを許可する必要があります。

QWebViewはホブを行いますか?スクロールコントロールAPIが表示されなかった、または新しいテキスト行を「追加」できませんでした。新しい行が来るたびに、「setHTML」を使用してHTMLを再作成し、再送信する必要がありますか?

任意のアドバイスをいただければ幸いです。

4

1 に答える 1

1

QTextEditまたはQTextBrowser の使用を検討することをお勧めします。これらのウィジェットはどちらも HTML をサポートしています (多少制限される場合があります)。これらのウィジェットを使用すると、HTML を行ごとに追加できます。また、スクロール バーへのアクセスを提供する QAbstractScrollArea も継承します。それらが CSS をサポートするかどうかはわかりませんが、Qt のスタイル シートをサポートしています。これは、CSS を機能させることができない場合の代替手段として機能する可能性があります。また、すぐに使用できるコピー、切り取り、貼り付け、元に戻す、およびやり直しも提供します (ただし、場合によってはこれをカスタマイズすることをお勧めします)。

于 2012-08-03T19:33:27.993 に答える