2012-08-03 54 views
1

的文本浏览器中读取数据我正在尝试在QT中创建一个聊天应用程序。是否有可能从QT GUI(这表明会话)的文本浏览器中读取数据,这样我可以保持一个聊天记录......?PLZ help..Thank您是否有可能从QT GUI

+0

什么样的控制是文本浏览器? QLineEdit的? – 2012-08-03 12:22:18

+0

@DarkXphenomenon我认为他的意思是QTextBrowser!? – leemes 2012-08-03 12:22:45

+0

提示:[QTextBrowser](http://doc.qt.nokia.com/4.7-snapshot/qtextbrowser.html)和父母[QTextEdit](http://doc.qt.nokia.com/4.7-snapshot/qtextedit的.html)。请参阅toHtml()。并且下次使用手册。 – roslav 2012-08-03 12:25:24

回答

2

QTextBrowser继承QTextEdit,其中在QTextDocument工作。将另外,QTextDocument可以使用QTextDocument::toHtml() HTML转换成(并保存为):

QTextDocument *doc = ui->textBrowser->document(); 
QString html = doc->toHtml(); 

我建议你每次有新邮件进入/外出时追加到一个日志文件,因此更新QTextBrowser和文件“并行”,并且而不是每次出现新消息时保存整个聊天记录。

为此,请打开日志文件并手动写入打开的<html><body>标记而不关闭它们。然后在仍然打开的文件上附加聊天记录条目。在应用程序退出(对象破坏聊天窗口或其他)时,关闭</body></html>标签,然后关闭文件本身。这将比保存QTextBrowser小部件的每次更改时的整个文件的性能好得多。