C# 如何使用Qt Quick显示rtf格式?
我是新来的。我有一个c语言的winform应用程序,其中我在RichTextBox中显示文本。RichTextBox是一个控件,您可以编写类似粗体斜体彩色文本的富文本,并插入图像和C# 如何使用Qt Quick显示rtf格式?,c#,qt,qml,rtf,qtquick2,C#,Qt,Qml,Rtf,Qtquick2,我是新来的。我有一个c语言的winform应用程序,其中我在RichTextBox中显示文本。RichTextBox是一个控件,您可以编写类似粗体斜体彩色文本的富文本,并插入图像和 现在我想用qt-quick编写我的应用程序,但我不知道如何显示它以及在哪个控件中?如果这是不可能的,什么是Qt中rtf的替代品?例如html或?因此,我可以将rtf转换为html,并将html绑定到该控件以显示它。使用QTextedit小部件。它也支持html QTextEdit* te = new QTextEdi
现在我想用qt-quick编写我的应用程序,但我不知道如何显示它以及在哪个控件中?如果这是不可能的,什么是Qt中rtf的替代品?例如html或?因此,我可以将rtf转换为html,并将html绑定到该控件以显示它。使用QTextedit小部件。它也支持html
QTextEdit* te = new QTextEdit(this);
te->setAcceptRichText(true);
te->setText(myText);
我不确定RichTextBox提供了什么,但有两个选项:,它为您提供了一个输入框,用户可以在其中输入文本;它只显示包含多行和HTML支持的文本
这里可以看到一个代码示例:
import QtQuick 2.7
import QtQuick.Controls 1.4
import QtQuick.Window 2.2
// Filename.qml
Window {
width: 640
height: 480
TextField {
placeholderText: "I am a TextFiel"
}
Text {
anchors.centerIn: parent
text: "And I am a Text"
}
}
此代码snipplet创建一个新窗口,左上角有一个textfield,中间有一个文本项。您可以在QtCreator中打开此文件,然后转到Designer选项卡查看它
或者,您可以使用Qt本身提供的名为qmlscene的工具运行此代码。如果您已在Windows计算机上安装了Qt,并在Windows上将PATH环境变量设置为C:\Qt\5.7\msvc2013\bin,则您甚至可以在命令行中运行此命令。因此,您可以按Alt+Shift+右键单击文件旁边空间中的某个位置,在此处选择“打开命令窗口”,然后键入:
qmlscene Filename.qml
正如derM所指出的,QML中不支持Microsoft*.rtf格式,但对于有纯富文本的情况,可以使用QML参考中的解决方案:
TextEdit {
width: 240
text: "<b>Hello</b> <i>World!</i>"
font.family: "Helvetica"
font.pointSize: 20
color: "blue"
focus: true
}
如果您只想显示富文本:
Text {
text: "My <b>rich</b> text"
textFormat: Text.RichText
}
这是QtWidget,但是OP询问了qtquick,也就是QML。但是我想要在qt quick note widget中。虽然这被称为RichText,但我怀疑它能否满足OP的要求,因为他要求输出具有另一个标记的。对于你的答案仍然+1,因为它应该有助于OP,编写一个从RTF到HTML的翻译程序。您可以在您的答案后面附加一个信息,即QML中没有实现RTF支持。