请教QTextEdit的问题
我想做一个小的聊天应用。界面大致如下:
History List是只读的,请问如何将Input中的内容加入到History List中去,
Input中的内容包括文字和图片。谢谢。
[最优解释]
看看Qt的例子 : Text Object Example
[其他解释]
QTextEdit 能插入图片吗???
没试过,但我觉得放图片的话,你应该改用 QPlainTextEdit 吧
[其他解释]
这个例子看了一下,它是告诉怎么在QTextEdit中插入图片,这个我会了,现在问题是,如何将Input中的内容加到History List中去,如果是纯文本那好办,主要是Input中会有图片。
[其他解释]
QTextEdit可以插图片啊,如下
void MainWindow::OnInsertPicture()
{
QString file = QFileDialog::getOpenFileName(this, tr("Select an image"),
".", tr("Images (*.png *.gif *.jpg *jpeg)"));
QUrl Uri ( QString ( "file://%1" ).arg ( file ) );
QImage image = QImageReader ( file ).read();
QTextDocument * textDocument = m_pInputEdit->document();
textDocument->addResource( QTextDocument::ImageResource, Uri, QVariant ( image ) );
QTextCursor cursor = m_pInputEdit->textCursor();
QTextImageFormat imageFormat;
imageFormat.setWidth( image.width() );
imageFormat.setHeight( image.height() );
QString string = Uri.toString() ;
imageFormat.setName(string);
cursor.insertImage(imageFormat);
}
[其他解释]
该回复于2012-12-01 09:51:48被管理员删除
[其他解释]
找到了一个方法,但还没解决GIF图片动态显示的问题:
插入图片的代码:
void MainWindow::onInsertPicture()
{
QString file = QFileDialog::getOpenFileName(this, tr("Select an image"),
".", tr("Images (*.png *.gif *.jpg *jpeg)"));
if (file.isEmpty())
{
return;
}
QTextImageFormat imageFormat;
imageFormat.setName(file);
QTextCursor cursor = m_pInputEdit->textCursor();
cursor.insertImage(imageFormat);
}
将input的内容添加到history中的代码:
void MainWindow::onSend()
{
QString strInputContent = m_pInputEdit->toHtml();
m_pMsgListor->append(strInputContent);
m_pInputEdit->clear();
}