Russian Qt Forum
Мая 21, 2025, 01:25 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Опять про заголовки QTableView, как обстоят дела с переносом слов?  (Прочитано 9463 раз)
Павел_F.
Гость
« : Января 14, 2010, 09:21 »

Заголовк столбца состоит из нескольких слов, например "Заголовок первого столбца".
Отображается как
 _______________________________
|                                                      |
| Заголовок первого столбца     |
|_______________________________|

Есть желание отобразить его в несколько строк типа
 ____________
|                    |
| Заголовок |
| первого     |
| столбца    |
|___________|

Это реально сделать не трогая paintSection у QHeaderView?
Что-то никак не нахожу...

PS: задать его как "Заголовок\n первого\n столбца" не предлагать, к задаче не подходит.
Записан
break
Гипер активный житель
*****
Offline Offline

Сообщений: 846


Просмотр профиля
« Ответ #1 : Января 14, 2010, 13:34 »

может это подойдет?
http://www.prog.org.ru/topic_9143_0.html

Цитировать
PS: задать его как "Заголовок\n первого\n столбца" не предлагать, к задаче не подходит.
сори за оффтоп - но почему?
Записан
Павел_F.
Гость
« Ответ #2 : Января 14, 2010, 14:51 »

Нет это не то. Мне многоуровневые заголовки-то не нужны, а переносов там тоже нет.
сори за оффтоп - но почему?
Это с вязано с тем, что в программе будет не один язык. А в разных языках строки выглядят по разному и кол-во слов разное. да и переводом занимаются переводчики, а прогу пишут программисты. А рассказывать переводчикам по "\n" и зачем оно нужно не вариант.
« Последнее редактирование: Января 14, 2010, 14:53 от Павел_F. » Записан
break
Гипер активный житель
*****
Offline Offline

Сообщений: 846


Просмотр профиля
« Ответ #3 : Января 14, 2010, 15:25 »

Цитировать
А рассказывать переводчикам по "\n" и зачем оно нужно не вариант.
Согласен - или надо написать ф-ю которая будет обрабатывать строки и вставлять /n там где надо по числу чимволов, и через нее пропускать все что вставляется в заголовок. (может макрос)

Или же писать свой HeaderView...
Записан
Barmaglodd
Гость
« Ответ #4 : Января 16, 2010, 19:51 »

Вообще-то QtLinguist умеет перевод каретки без вставки "\n".
Записан
Павел_F.
Гость
« Ответ #5 : Января 16, 2010, 20:02 »

В смысле? Не понял...
Записан
crossly
Гость
« Ответ #6 : Января 16, 2010, 20:14 »

это к тому что переводчику не нужно объяснять об \n... ему просто надо нажать Enter
Записан
Павел_F.
Гость
« Ответ #7 : Января 16, 2010, 23:15 »

Ну в таком случае ему нужно объяснять где нажать Enter где не нажимать. Тоже не хорошо...
Записан
Barmaglodd
Гость
« Ответ #8 : Января 17, 2010, 07:16 »

А как QHeaderView поймёт автоматически, когда надо переносить слова?
Если наследоваться нельзя, то можно попробовать систему костылей из обработчика изменения размера колонки или строки и зависящего от них headerDataChanged у модели.
Записан
Павел_F.
Гость
« Ответ #9 : Января 17, 2010, 08:51 »

А как QHeaderView поймёт автоматически, когда надо переносить слова?
А ему всегда надо переносить. Просто одна и та же строка может встретится в заголовке таблицы и в лейбле каком-нибудь. В заголовке надо переносить, в лейбле нет. В идеале конечно стоит при переносе учитывать ширину текста а не тупо каждое слово с новой строки...
Если наследоваться нельзя, то можно попробовать систему костылей из обработчика изменения размера колонки или строки и зависящего от них headerDataChanged у модели.
Почему нельзя? Можно. Сколь угодно раз, просто навыков рисования всякими пайнтерами почти нет. Вот и ищу другой путь из костылей.
« Последнее редактирование: Января 17, 2010, 08:53 от Павел_F. » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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