Название: кавычки в QLabel Отправлено: mokynis от Май 17, 2016, 13:47 получаю текст из таблицы базы данных, типа: фирма "Мелодия". qDebug() выводит, что в результате query.value(1).toString() из базы получается: "фирма "Мелодия"". Теперь эту строку надо показать на форме. Так вот в QLineEdit все отображается, как в таблице базы, без внешних кавычек, а в Qlabel кавычки остаются и выводит: "фирма "Мелодия
Можно ли это как-то обойти без разбора строки и удаления 1-последнего символа? Название: Re: кавычки в QLabel Отправлено: gil9red от Май 17, 2016, 16:03 Покажите как текст в Qlabel и QLineEdit выводите
Название: Re: кавычки в QLabel Отправлено: mokynis от Май 17, 2016, 16:27 Код: QSqlQuery qry("SELECT contractor.nam FROM contractor"); Название: Re: кавычки в QLabel Отправлено: gil9red от Май 17, 2016, 16:46 Странно, у меня в минимальном примере и там, и там с кавычками. Qt 4.8 и 5.3
Название: Re: кавычки в QLabel Отправлено: mokynis от Май 17, 2016, 17:00 не совсем корректный пример. Из базы строка получается с не-экранированными кавычками: "фирма "Мелодия"". Их ведь в базу никто со слэшами вносить не будет. Версию Qt сегодня уже не скажу-рабочий день закончился ;-)
Название: Re: кавычки в QLabel Отправлено: gil9red от Май 17, 2016, 19:45 Вполне корректный, т.к. экранирование кавычек нужно только для оформления литерала строки. В самой строке кавычки будут обычными, без слешей.
Покажите лучше что в qry.value(0).toString() находится :) Название: Re: кавычки в QLabel Отправлено: mokynis от Май 18, 2016, 08:08 qDebug() выводит, что в результате query.value(0).toString() из базы получается: "фирма "Мелодия"" . Внутренние кавычки не экранированы. Реально юзер, разумеется, вводил: фирма "Мелодия"
Кстати, Qt 4.6.3 И, сейчас попробовал вывести не из базы, а из QString aaa="фирма \"Мелодия\""; Вывело- Название: Re: кавычки в QLabel Отправлено: gil9red от Май 18, 2016, 08:43 Базу можете приложить? Это sqlite?
Или минимальный проект, чтобы можно было у себя его запустить Пока, сказать точно в чем фигня не получится Название: Re: кавычки в QLabel Отправлено: mokynis от Май 18, 2016, 10:46 это MyQSL, проект довольно не маленький. Чуть будет время, переделаю на SQLite и выложу
Название: Re: кавычки в QLabel Отправлено: gil9red от Май 18, 2016, 11:26 Попробуйте в той функции залогировать строку из базы и тексты из label и textedit:
Код
Название: Re: кавычки в QLabel Отправлено: mokynis от Май 18, 2016, 11:48 выяснил, в чем причина. Если в QLabel выравнивание по левому краю (по умолчанию)-все отображается нормально. Если по правому (я во вложении так и сделал)-рисует лишние кавычки. Это что за баг?
P.S. а qDebug() в обоих случаях дает: "фирма "Мелодия"" Название: Re: кавычки в QLabel Отправлено: gil9red от Май 18, 2016, 12:07 Попробуйте собрать версией по свежее :)
Название: Re: кавычки в QLabel Отправлено: mokynis от Май 18, 2016, 12:18 ОК, спасибо за помощь!
Название: Re: кавычки в QLabel Отправлено: Alex Custov от Май 18, 2016, 13:51 P.S. а qDebug() в обоих случаях дает: "фирма "Мелодия"" qDebug() в Qt4 выводит строки с дополнительным обрамлением в кавычки Название: Re: кавычки в QLabel Отправлено: gil9red от Май 18, 2016, 14:16 P.S. а qDebug() в обоих случаях дает: "фирма "Мелодия"" qDebug() в Qt4 выводит строки с дополнительным обрамлением в кавычки Тут другое. У автора при выводе в QLabel при align=right кавычки появились :) |