QTextEdit como excluir html formatado a partir da página web

votos
0
int insertStar = position;
    int insertLength = charsAdded - charsRemoved;
    if(insertLength <= 0){
        return;
    }
    int insertEnd = position + insertLength;
    QTextBlock fromBlock = this->document()->findBlock(insertStar);
    QTextBlock tillBlock = this->document()->findBlock(insertEnd);
    if(tillBlock.isValid())
        tillBlock = tillBlock.next();
    for(auto block = fromBlock;block != tillBlock;block = block.next()){
        auto fragmentIt = block.begin();
        for(; !(fragmentIt.atEnd()); ++fragmentIt){
            auto fragment = fragmentIt.fragment();
            Q_ASSERT(fragment.isValid());

            int fragmentPosition = fragment.position();
            if(insertStar >= fragmentPosition + fragment.length()){
                continue;
            }

            int changedEndInFragment = insertEnd - fragmentPosition;
            if (changedEndInFragment <= 0) {
                break;
            }

            auto charFormat = fragment.charFormat();
            if(charFormat.isImageFormat()){
                continue;
            }else if(charFormat.isCharFormat()){
                QTextCharFormat cust_charFormat = charFormat;
                QTextCursor tempCursor = this->textCursor();

                cust_charFormat.setUnderlineStyle(QTextCharFormat::NoUnderline);
                QFont text_font(Microsoft Yahei);
                text_font.setPixelSize(14);
                cust_charFormat.setFont(text_font);
                cust_charFormat.setForeground(QBrush(QColor(0x333333)));
                if(charFormat != cust_charFormat){
                    tempCursor.setPosition(fragment.position());
                    tempCursor.setPosition(fragment.position() + fragment.length(), QTextCursor::KeepAnchor);
                    tempCursor.mergeBlockCharFormat(cust_charFormat);
                }
                break;
            }else if(charFormat.isFrameFormat()){
                continue;
            }else if(charFormat.isBlockFormat()){
                continue;
            }else if(charFormat.isListFormat()){
                continue;
            }else if(charFormat.isTableCellFormat()){
                continue;
            }else if(charFormat.isTableFormat()){
                continue;
            }
        }
    }

Copiar uma parte do conteúdo da página e, em seguida, cole-o em QTextEdit, o conteúdo da web vem com um monte de tags HTML, como remover essas tags, com a sua própria cor da fonte e outros formatos para mostrar estes conteúdos web. Aqui está o meu código, por favor me ajude

Publicado 02/02/2018 em 10:42
fonte usuário
Em outras línguas...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more