📄 saxhandler.cpp
字号:
#include <QtGui>#include "saxhandler.h"SaxHandler::SaxHandler(QTreeWidget *tree){ treeWidget = tree; currentItem = 0;}bool SaxHandler::startElement(const QString & /* namespaceURI */, const QString & /* localName */, const QString &qName, const QXmlAttributes &attributes){ if (qName == "entry") { if (currentItem) { currentItem = new QTreeWidgetItem(currentItem); } else { currentItem = new QTreeWidgetItem(treeWidget); } currentItem->setText(0, attributes.value("term")); } else if (qName == "page") { currentText.clear(); } return true;}bool SaxHandler::characters(const QString &str){ currentText += str; return true;}bool SaxHandler::endElement(const QString & /* namespaceURI */, const QString & /* localName */, const QString &qName){ if (qName == "entry") { currentItem = currentItem->parent(); } else if (qName == "page") { if (currentItem) { QString allPages = currentItem->text(1); if (!allPages.isEmpty()) allPages += ", "; allPages += currentText; currentItem->setText(1, allPages); } } return true;}bool SaxHandler::fatalError(const QXmlParseException &exception){ QMessageBox::warning(0, QObject::tr("SAX Handler"), QObject::tr("Parse error at line %1, column " "%2:\n%3.") .arg(exception.lineNumber()) .arg(exception.columnNumber()) .arg(exception.message())); return false;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -