как написать «<» в HTML, содержащемся в QString для виджета QTextEdit - PullRequest
0 голосов
/ 30 октября 2019

Я новичок в QT. я пишу код для "генератора классов C ++". Я генерирую QString из данных, представленных в главном окне, чтобы поместить его в виджет QTextEdit во втором окне. Я использую часть кода HTML в моем QString "Generated_code". дело в том, что когда я представляю символ "<", он рассматривается как тег HTML, поэтому он не отображается в полученном тексте. так как я могу написать этот символ и продолжить использовать HTML в моей QString (потому что есть другое решение, заключающееся в написании QString без использования любого HTML-кода)? </p>

что я получаю в полученном тексте ... .... некоторый текст включает header1> include header2> ... etc. какой-то другой текст

void MainWindow::OpenDialogWindow()
{
....some other code

// a part of where i'm actually constructing the QString (MainWindow class methode)
if(!m_headers->itemText(0).isEmpty())
    {
        for(int i = 0 ; i < m_headers->count() ; i++)
        {
            Generated_code += "<br>#include <><<>"  + m_headers->itemText(i) + "<>><></br>";
        }
    }
.
.
.
..... some other code
m_codeGenerated_Window = new CodeGeneratedWindow(Generated_code);
    m_codeGenerated_Window->exec();
}



// the constructor of the second window
CodeGeneratedWindow::CodeGeneratedWindow(QString text)
{
    m_diagLayout = new QVBoxLayout(this);
    m_text = new QTextEdit();
    m_text->setText(text);;

.... some code 
}

1 Ответ

2 голосов
/ 30 октября 2019

Вы можете сделать что-то вроде:

for(int i = 0 ; i < m_headers->count() ; i++)
{
    const auto cCode = QString("#include <%1>").arg(m_headers->itemText(i));
    Generated_code += QString("<br>%1</br>").arg(cCode.toHtmlEscaped());
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...