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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Объединение колонок QTableView  (Прочитано 4291 раз)
slava_d200
Гость
« : Ноябрь 24, 2011, 16:12 »

Доброе время суток!
Есть ли возможность в QT
сделать так чтобы одна строка QTableView фактически состоялобы из двух строк.
ну т.е.
+------------------------------------------------------+
+туфли женские на высоком коблуке.....           +
+---------------------------+--------------+---------+
+                        цвет     |    размер    |    цена  +
+---------------------------+--------------+----------+
както так.

пробывал через "setSpan" ничего не получается, 1-я строка живет отдельно от второй, а надо чтобы это была одна строка
и выделялась как одно целое.

т.е. имел бы один индекс строки
« Последнее редактирование: Февраль 03, 2013, 12:22 от slava_d200 » Записан
twp
Гость
« Ответ #1 : Ноябрь 24, 2011, 19:52 »

нужно задействовать QTreeView::setFirstColumnSpanned()
Записан
kolob
Частый гость
***
Offline Offline

Сообщений: 296



Просмотр профиля
« Ответ #2 : Январь 07, 2013, 22:50 »

Автор ТЕМУ подправь!
Записан

Qt 5.11.0, Win, MinGW
schmidt
Гость
« Ответ #3 : Март 12, 2013, 22:18 »

Цитировать
сделать так чтобы одна строка QTableView фактически состоялобы из двух строк.

Строка в любом View - это один элемент. Если вам нужно визуально разбить наименование и описание товарной позиции на несколько строк - используйте делегат Улыбающийся А чтобы было проще заниматься форматированием - используйте XML-разметку в данных, которые выдает модель, например:

Цитировать
<name>Дедушкины часы с кукушкой</name><price>20000</price><size>XXL</size><color>В яблоках</color>

<name>Сапоги Дедушки Мороза</name><price>1000</price><size>L</size><color>Красный металлик</color>

<name>Очки для Мартышки</name><price>10</price><size>XL</size><color>N/A</color>

...

И так по строке для каждой товарной позиции. А в делегате переопределяете метод paint() и используя, к примеру, QXmlStreamReader парсите данные и занимаетесь их отрисовкой как душе угодно.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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