C++ QTextDocument占用多个空格
有一个Qt/C++代码:C++ QTextDocument占用多个空格,c++,qt,qt4,qtextdocument,C++,Qt,Qt4,Qtextdocument,有一个Qt/C++代码: #include <QtCore/QCoreApplication> #include <QtGui/QTextDocument> #include <QByteArray> #include <QDebug> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QTextDocument *doc = new QTextD
#include <QtCore/QCoreApplication>
#include <QtGui/QTextDocument>
#include <QByteArray>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QTextDocument *doc = new QTextDocument();
qDebug() << " === Document was: === ";
qDebug() << doc->toHtml(QByteArray());
doc->setHtml("<p>THIS IS SPARTA</p>");
qDebug() << " === Document now: === ";
qDebug() << doc->toHtml(QByteArray());
return a.exec();
}
在执行setHtml之前-它不会删除多个空格。但是这个样式标签是什么呢?这不是默认的样式表吗?为什么Qt忽略了它
感谢您的回答。此行为来自html,html只需忽略标记中的多个空格即可 尝试将特殊代码用于空格:
#include <QtCore/QCoreApplication>
#include <QtGui/QTextDocument>
#include <QByteArray>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QTextDocument *doc = new QTextDocument();
qDebug() << " === Document was: === ";
qDebug() << doc->toHtml(QByteArray());
QByteArray myhtml ="<p>THIS IS SPARTA</p>";
doc->setHtml(myhtml.replace(" "," "));
qDebug() << " === Document now: === ";
qDebug() << doc->toHtml(QByteArray());
return a.exec();
}
#包括
#包括
#包括
#包括
int main(int argc,char*argv[])
{
qcorea应用程序(argc、argv);
QTextDocument*doc=新的QTextDocument();
qDebug()setHtml(myhtml.replace(“,”);
qDebug()文档告诉您在富文本对象中支持哪些CSS标记-空白:应该支持预包装,至少在我的Qt 4.7文档中是这样。也许您应该在错误跟踪器中提出一个错误?我知道,但是对于和标记,有一个带有“空白:预包装”的CSS,所以不能删除空白。这是正确的这就是问题所在!:(是的,它是受支持的。当我将它设置为默认样式表时,它可以很好地工作。问题是它忽略了它自己的默认CSS。也许有人应该填写错误报告。我只是不知道,Qt是否应该使用它(我的意思是,它是错误还是功能;)就我个人而言,我会报告它,看看正确的行为应该是什么。也许它像一个doc bug一样简单,或者它是一个真正的bug。你可以尝试挖掘源代码并找出:-)
<style type="text/css">p, li {white-space: pre-wrap;}</style>
doc->setDefaultStyleSheet("p, li { white-space: pre-wrap; }");
#include <QtCore/QCoreApplication>
#include <QtGui/QTextDocument>
#include <QByteArray>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QTextDocument *doc = new QTextDocument();
qDebug() << " === Document was: === ";
qDebug() << doc->toHtml(QByteArray());
QByteArray myhtml ="<p>THIS IS SPARTA</p>";
doc->setHtml(myhtml.replace(" "," "));
qDebug() << " === Document now: === ";
qDebug() << doc->toHtml(QByteArray());
return a.exec();
}