QDomDocument :: setContent()的参数?我无法理解

时间:2012-02-21 06:35:44

标签: qt

bool QDomDocument::setContent ( const QByteArray & data, bool namespaceProcessing, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0 )

此函数的第一个参数是const QByteArray & data,然后是:

void LoadData(QString& str)
{
    QString strPath = str;
    strPath += "/contact.xml";
    QFile file(strPath);
    if(!file.open(QIODevice::ReadOnly)) 
    {
        return;
    }
    QDomDocument doc;
    if(!doc.setContent(&file))
    {
        file.close();
        return;
    }
    file.close();
    ...
}

热门代码可以在我的项目中使用,但它不是由我创建的。我无法理解&file, 你们怎么看待这个问题?

1 个答案:

答案 0 :(得分:1)

QDomDocument::setContent的多个版本。上面的代码正在使用:

bool QDomDocument::setContent( 
    QIODevice * dev, 
    QString * errorMsg = 0, 
    int * errorLine = 0,
    int * errorColumn = 0 
)

因为QFile inherits QIODevice&file返回指向QFile的指针。