首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

请问QTextEdit的有关问题

2012-12-28 
请教QTextEdit的问题我想做一个小的聊天应用。界面大致如下:History List是只读的,请问如何将Input中的内容

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

热点排行