Определение Qt 5.5 setDevice ()

Итак, я пишу небольшой программный код (это понравится ребятам) с использованием фреймворка Qt. Мне любопытно, если кто-нибудь там может объяснить мне, как именно setDevice() функция в пределах QXmlStreamReader объект класса работает. Используя документацию Qt, я пришел к выводу, что он просто определяет, где находится файл, который вы хотите транслировать; если это так, я не понимаю, зачем мне сначала открывать файл перед тем, как с ним работать. Я ищу подробное понимание того, как это работает, я знаю, что я должен быть в состоянии понять это, но я просто не настолько опытен, но на низком уровне функциональности в языке c ++. Спасибо за понимание, вы действительно поможете мне понять, «как» работает эта функция, что очень важно для меня.

0

Решение

QXmlStreamReader Класс — это синтаксический анализатор, то есть он может использоваться для любого источника ввода. Поэтому входной поток Можно быть файлом, но не обязательно. Это также может быть QBuffer, QTextStream, QDataStreamили множество других QIODevice подклассы. Вы должны открыть файл, прежде чем передать его QXmlStreamReader потому что класс ничего не знает о файлах. Код:

QFile file("somefile");
QXmlStreamReader reader;
if (file.open(QIODevice::ReadOnly))
reader.setDevice(&file);
else
/*FAILURE*/
1

Другие решения


По вопросам рекламы [email protected]