如何通过ctrl+将html从剪贴板插入QTextEdit;v
我有一个计划:如何通过ctrl+将html从剪贴板插入QTextEdit;v,html,c++,qt,clipboard,Html,C++,Qt,Clipboard,我有一个计划: int main(int argc, char *argv[]){ QApplication app(argc, argv); QTextEdit te; te.setHtml("<!DOCTYPE html>" "<html>" "<body style = \"background-color:powderblue;\">" "<h1>M
int main(int argc, char *argv[]){
QApplication app(argc, argv);
QTextEdit te;
te.setHtml("<!DOCTYPE html>"
"<html>"
"<body style = \"background-color:powderblue;\">"
"<h1>My First Heading< / h1>"
"<p>My first paragraph.< / p>"
"< / body>"
"< / html>");
te.resize(500, 300);
te.show();
return app.exec();
}
但是如果我复制文本
<!DOCTYPE html>
<html>
<body style="background-color:powderblue;">
<p>This is a paragraph.</p>
<p>This is another paragraph.</p>
</body>
</html>
这是一段
这是另一段
通过按ctrl+V从剪贴板进入程序创建的窗口,我看到:
如何重写程序以显示第一幅图像中的html?不能直接用缩进空格粘贴html代码。试着先在MS word上复制它,然后再从那里粘贴到其他任何地方 试试这个:
class TextEdit : public QTextEdit{
public:
TextEdit(QWidget *parent = 0):
QTextEdit(parent)
{}
protected:
void insertFromMimeData(const QMimeData *source){
if(source->hasText()){
setHtml(source->text());
}
else{
QTextEdit::insertFromMimeData(source);
}
}
};
如果不显示代码,就很难说。当您键入文本而不是粘贴文本时,行为是否有所不同?从中阅读您可能也想阅读
class TextEdit : public QTextEdit{
public:
TextEdit(QWidget *parent = 0):
QTextEdit(parent)
{}
protected:
void insertFromMimeData(const QMimeData *source){
if(source->hasText()){
setHtml(source->text());
}
else{
QTextEdit::insertFromMimeData(source);
}
}
};