• 5845阅读
  • 3回复

为什么QTextEdit不能提交html源码?? [复制链接]

上一主题 下一主题
离线xiaobaiwen
 
只看楼主 倒序阅读 楼主  发表于: 2008-12-27
— 本帖被 XChinux 执行加亮操作(2009-01-03) —
希望把QTextEdit中编辑的html源码提交到数据库中,我写的函数是这样的:
void planManageWidget::updateNotify()

{

    QString notify = ui.notifyEdit->toPlainText();

    //std::cout << notify.toStdString() <<std::endl;

    QSqlQuery query(db);

    query.prepare("update NotifyHelp set n = '"+notify+"'");

    if (query.exec()) {

        QMessageBox::information(this, tr("成功"), tr("修改成功!"));

        showNotify();

    }

    else {

        QMessageBox::critical(this, tr("错误"), tr("修改错误!"));

    }

}其中ui.notifyEdit的类型就是QTextEdit,数据库中原来就保存的是html源码, 现在通过这个函数 如果在QTextEdit中写的是类似“123”,“abcd”,这样的普通字符就可以 成功提交,但是如果填写的是html源码比如是:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Microsoft YaHei'; font-size:9pt; font-weight:400; font-style:normal;"> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html>

这样一堆源码,就不能提交了!! 大家帮忙看看吧 !! 很急着解决这个问题啊!!!
离线lazybone
只看该作者 1楼 发表于: 2008-12-27
用 toPlainText  读的数据就是 textEdit 显示的数据
可能插入数据库时对 内容有限制
周六上班 同病相怜啊 T。T
离线xiaobaiwen
只看该作者 2楼 发表于: 2008-12-27
引用第1楼lazybone于2008-12-27 15:23发表的  :
用 toPlainText  读的数据就是 textEdit 显示的数据
可能插入数据库时对 内容有限制
周六上班 同病相怜啊 T。T



呵呵!! 我还想有班上呢! 我现在是在还在学校呆着作课设呢,
太羡慕你们了!! 有班上, 还找不到哦!!

这个问题,我又搞了下,提交的源码 不能有<table></table>以外的东西,这样提交能成功。
不过应该还有其他办法,期待高手的出现!!!
离线roc496
只看该作者 3楼 发表于: 2009-01-22
你把它转为QByteArray作为二进制数据传进去试试...
快速回复
限100 字节
 
上一个 下一个