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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTableView & QHeaderView  (Прочитано 14549 раз)
8: Undefined index: LANG_NAME
Файл: /var/www/html/Sources/geshi/geshi.php
Строка: 4032
migel
Гость
« : Апреля 19, 2009, 11:08 »

Добрый день.
Собственно вопрос:
некоторое время назад пересел на Qt и вот с толкнулся с проблемой,
создаю собственную модель QAbstractTableModel соединяю её с QTableView.
Все замечательно, но необходимо что бы в заголовке таблицы было как минимум
две строки в одной из которой были привязанны QComboBox к соответсвующим полям,
а в другой title поля.
Пытался переопредилить класс QHeaderView а в нем виртальную функцию
void paintSection ( QPainter * painter, const QRect & rect, int logicalIndex ) const;
что как то безрезультатно.
http://www.ics.com/files/docs/qicstable/2.4/index.html
вот примерно что мне нухно, в том смысле как долхны выглядет заголовки.
Может кто решал такую задачку.
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #1 : Апреля 19, 2009, 13:05 »

Глянь вот эту тему http://www.prog.org.ru/topic_9143_0.html
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
migel
Гость
« Ответ #2 : Апреля 19, 2009, 13:35 »

Огромное человеческое спасибо!!!
Записан
Barmaglodd
Гость
« Ответ #3 : Апреля 20, 2009, 06:42 »

В этом случае я бы лучше 2 QTableView использовал: одину для заголовка, вторую для содержимого таблицы. Меньше головной боли с комбобоксами в заголовке.
Записан
migel
Гость
« Ответ #4 : Апреля 23, 2009, 13:10 »

Да действительно оказалось проще использовать две таблицы.
Записан
migel
Гость
« Ответ #5 : Апреля 23, 2009, 13:23 »

А вот еще один вопрос, как можно сделать инкрементальный поиск в QtableView, т.е.
пользователь в эдите вводит символы запроса, а курсор передвигается по мере соответствия к необходимой записи,
причем остальные записи не исчезают
Записан
c00ker
Гость
« Ответ #6 : Апреля 23, 2009, 16:52 »

примерно так:

Код:
       QVariant val = "123"; // строка для поиска
       QModelIndexList list = model->match(model->index(0, 0), 0, val);

       if (!list.isEmpty())
        {
            selectionModel->setCurrentIndex (list.first(),QItemSelectionModel::Rows|
                                             QItemSelectionModel::Select|QItemSelectionModel::ClearAndSelect);
            view->scrollTo(model->index(list.first().row(), default_column));
        }
Записан
migel
Гость
« Ответ #7 : Апреля 27, 2009, 17:48 »

Точно все отлично пашет, слегка доработал код,для того что бы поиск шел только точному значению, и выделения делал не только по первой встретившейся записи а по всем похожим записям.
Спасибо еще раз, всем.
Записан