Название: Вывод QString на форму Отправлено: qwyllum от Декабрь 03, 2012, 15:43 Нужно вывести строки из файла на форму.
Если я правильно понимаю, то QString это класс, поэтому нельзя просто вывести Qstring, т.к. Для текста меток подходит формат *char. Т.е. Нужно получить доступ к данным Qstring. Нашел в интернете реализацию, но не совсем уверен правильная ли она. Попытался вывести присвоить хотя-бы строку метке этим кодом: Код: QFile file("/proc/cpuinfo"); Подскажите пожалуйста, что я неправильно делаю? Метка не изменяется и хранит свой первоначальный текст. Название: Re: Вывод QString на форму Отправлено: mutineer от Декабрь 03, 2012, 15:47 Если я правильно понимаю, то QString это класс, поэтому нельзя просто вывести Qstring, т.к. Для текста меток подходит формат *char. Это ты откуда взял? Чем тебя не устраивает этот метод: Код: void QLabel::setText ( const QString & ) Название: Re: Вывод QString на форму Отправлено: Bepec от Декабрь 03, 2012, 15:47 1) QString это строка.
2) setText у Label принимает как ты думаешь что? Правильно, QString. 3) В какой кодировке у тебя файл я незнаю (никсы), но походу UTF-8, т.е. тебе вообще ничего преобразовывать ненадо. 4) Ты в цикле до конца файла берешь строку. Ставишь строку в метку, затирая предыдущую строку. 5) Как результат у тебя будет выведена только последняя строка. 6) сделай проще - записывай все данные в QString (в один класс). А потом когда весь файл читанёшь засовывай в label. PS платные консультации чоли ввести :D Название: Re: Вывод QString на форму Отправлено: qwyllum от Декабрь 03, 2012, 16:02 1) QString это строка. Оказалось все проще, чем я думаю :D спасибо большое)2) setText у Label принимает как ты думаешь что? Правильно, QString. 3) В какой кодировке у тебя файл я незнаю (никсы), но походу UTF-8, т.е. тебе вообще ничего преобразовывать ненадо. 4) Ты в цикле до конца файла берешь строку. Ставишь строку в метку, затирая предыдущую строку. 5) Как результат у тебя будет выведена только последняя строка. 6) сделай проще - записывай все данные в QString (в один класс). А потом когда весь файл читанёшь засовывай в label. PS платные консультации чоли ввести :D еще последний маааленький вопрос - а если мне нужно выводить строку с определенным содержанием? В с++ это решилось бы функцией strstr, которая бы возвращала 1 в случае присутствия подстроки. Название: Re: Вывод QString на форму Отправлено: mutineer от Декабрь 03, 2012, 16:41 http://doc.crossplatform.ru/qt/4.7.x/qstring.html
Название: Re: Вывод QString на форму Отправлено: lit-uriy от Декабрь 03, 2012, 19:01 >>В с++ это решилось бы функцией strstr, которая бы возвращала 1 в случае присутствия подстроки.
А ты не на С++ пишешь? Название: Re: Вывод QString на форму Отправлено: Bepec от Декабрь 03, 2012, 19:18 Ну зачем вы так его, головой об стенку?
strstr для C++ строк, если я помню. Вы предлагаете ему преобразовывать QString в string и использовать стандартные операторы? а смысл? Название: Re: Вывод QString на форму Отправлено: Igors от Декабрь 03, 2012, 19:26 Ф-ция strstr не имеет никакого отношения к ++. И возвращает она совсем не 1 а const char * который может быть нулевым или нет. И никакая она не оператор.
Совсем уж заврались :) |