读书人

请问QTextEdit的有关问题

发布时间: 2012-12-28 10:29:04 作者: rapoo

请教QTextEdit的问题
我想做一个小的聊天应用。界面大致如下:


History List是只读的,请问如何将Input中的内容加入到History List中去,
Input中的内容包括文字和图片。谢谢。
[最优解释]
看看Qt的例子 : Text Object Example
[其他解释]
QTextEdit 能插入图片吗???

没试过,但我觉得放图片的话,你应该改用 QPlainTextEdit 吧
[其他解释]

引用:
看看Qt的例子 : Text Object Example

这个例子看了一下,它是告诉怎么在QTextEdit中插入图片,这个我会了,现在问题是,如何将Input中的内容加到History List中去,如果是纯文本那好办,主要是Input中会有图片。
[其他解释]
引用:
QTextEdit 能插入图片吗???

没试过,但我觉得放图片的话,你应该改用 QPlainTextEdit 吧

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();
}

读书人网 >QT开发

热点推荐