Russian Qt Forum
Ноябрь 22, 2024, 14:50 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Стрелка в меню  (Прочитано 7277 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« : Май 20, 2017, 12:08 »

Добрый день

Нашел это. Вбил QChar((uchar(8592)) - стрелки нет (ни в консоли, ни в приложении). Как использовать коды правильно?

Спасибо   
Записан
ViTech
Гипер активный житель
*****
Offline Offline

Сообщений: 858



Просмотр профиля
« Ответ #1 : Май 20, 2017, 13:01 »

А в используемых шрифтах эти стрелки есть с такими кодами?
Записан

Пока сам не сделаешь...
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #2 : Май 20, 2017, 14:28 »

А в используемых шрифтах эти стрелки есть с такими кодами?
Да. Я могу найти левую стрелку в "Special Characters". При попытке скопировать ее в исходники начинает вякать
Цитировать
You are trying to insert characters that cannot be handled by the file's current encoding.  Do you want to convert the file to a richer encoding?
Но я могу скопировать этот символ в текстовый редактор, там все норм. Могу даже записать как PlainText, там получаю 3 байта, в hex: E2 86 90
Записан
PimenS
Крякер
****
Offline Offline

Сообщений: 371


Просмотр профиля
« Ответ #3 : Май 20, 2017, 14:40 »

ОС какая?

В 10-ке винде проблем вроде не наблюдалось.

Код:
le_filter->setText(QChar(8592));

Все нормально отображается.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #4 : Май 20, 2017, 15:50 »

Ага, вот где собака порылась

QChar(8592)  // работает
QChar(uchar(8592))  // НЕ работает

По доке так и не понял какая половая разница  Непонимающий
Записан
ViTech
Гипер активный житель
*****
Offline Offline

Сообщений: 858



Просмотр профиля
« Ответ #5 : Май 20, 2017, 16:09 »

QChar(8592)  // работает
QChar(uchar(8592))  // НЕ работает

При QChar(8592), скорей всего, вызывается конструктор QChar::QChar(int code). uchar (будучи unsigned char) обрезает 8592 до меньшего размера, и в конструктор QChar::QChar(uchar ch) уже не 8592 приходит, а что-то другое.
Записан

Пока сам не сделаешь...
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #6 : Май 21, 2017, 01:49 »

у uchar же обычно диапазон 0-255
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #7 : Май 21, 2017, 10:40 »

у uchar же обычно диапазон 0-255
Я почему-то был уверен что написал ushort (2 байта)  Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.053 секунд. Запросов: 23.