Название: QT4.0, QTableView и сортировка по столбцу Отправлено: oktogen от Февраль 11, 2006, 11:12 QT-4.0
Есть QTableView . В него ставлю QSqlQueryModel Надо сортировать данные по определенному столбцу Код:
Почему-то не проходит. Кто этим занимался? Название: QT4.0, QTableView и сортировка по столбцу Отправлено: crocus от Февраль 11, 2006, 18:20 Одни и теже грабли.
Нет реальной сортировки в QSqlQueryModel, точнее найдешь в ассистенте, используй QSqlTableModel. Я например сделал так: Код:
А потом Код:
Добавил обработчики и теперь и сортировка и фильтра пашут как надо!!! Название: QT4.0, QTableView и сортировка по столбцу Отправлено: oktogen от Февраль 13, 2006, 10:15 Я это обошел заменой QSqlQueryModel на QSqlTableModel.
Дурацкий вопрос. А как обработать клик на хедере? Чего-то не нашел сигналов в QtableView , а по ссылке на горизонтальный хедер ничего не работает. Как вы это сделали? Спасибо. Название: QT4.0, QTableView и сортировка по столбцу Отправлено: Steven_Orko от Февраль 13, 2006, 11:58 Цитата: "oktogen" Я это обошел заменой QSqlQueryModel на QSqlTableModel. Дурацкий вопрос. А как обработать клик на хедере? Чего-то не нашел сигналов в QtableView , а по ссылке на горизонтальный хедер ничего не работает. Как вы это сделали? Спасибо. В данном случае я тебе просто предлагаю сделать виджет Qt на основе модели и вида. Конкретно не скажу, как делается. Посмотри исходник QTableWidget. Я сам создавал такой объект, но не для отображения результатов SQL-запросов. Просто мне нужен был свой QTableWidgetItem и особое его отображение. Мог бы код выложить, да не могу его найти, наверно, утерял в процессе перемены компа и установки новой систему. Название: QT4.0, QTableView и сортировка по столбцу Отправлено: Dendy от Февраль 13, 2006, 13:56 Цитата: "oktogen" А как обработать клик на хедере? Код: QHeaderView * horizontalHeader () const; Название: Re: QT4.0, QTableView и сортировка по столбцу Отправлено: burunduk от Февраль 13, 2006, 15:47 а я вот так сортировку делал:
Код:
Название: QT4.0, QTableView и сортировка по столбцу Отправлено: oktogen от Февраль 13, 2006, 23:13 Код: QHeaderView * horizontalHeader () const; Пишет, что ошибка. Типа нельзя обращаться к QHeaderView как к QObject. Пробовал по разному, одна и таже байда с коннектом. Можно кусочек кода?(где происходит коннект клика по хедеру к местному слоту.) Название: QT4.0, QTableView и сортировка по столбцу Отправлено: Steven_Orko от Февраль 14, 2006, 00:15 Цитата: "oktogen" Код: QHeaderView * horizontalHeader () const; Пишет, что ошибка. Типа нельзя обращаться к QHeaderView как к QObject. Пробовал по разному, одна и таже байда с коннектом. Можно кусочек кода?(где происходит коннект клика по хедеру к местному слоту.) А так работает? Цитировать QHeaderView *pH = ui.tableWidget->horizontalHeader(); connect((QObject*)pH, SIGNAL(sectionClicked (int)), this, SLOT(ch(int))); Название: QT4.0, QTableView и сортировка по столбцу Отправлено: oktogen от Февраль 14, 2006, 10:33 нет, не работает.
Я не пользуюсь ui в проекте. поэтому Код:
Это прокатывает, но сортировки все равно нет. Только выделяется столбец. Название: QT4.0, QTableView и сортировка по столбцу Отправлено: Dendy от Февраль 14, 2006, 13:57 Проверь что возвращает connect(). Произошло ли вообще соединение.
Название: QT4.0, QTableView и сортировка по столбцу Отправлено: Steven_Orko от Февраль 15, 2006, 01:50 Цитата: "oktogen" нет, не работает. Я не пользуюсь ui в проекте. поэтому Код:
Это прокатывает, но сортировки все равно нет. Только выделяется столбец. Дык, я тебе не говорю про ui. Просто привел привер приведения типа. QHeaderView наследован от QObject, поэтому связка должна работать. Действительно, проверь, что возвращает connect. Название: QT4.0, QTableView и сортировка по столбцу Отправлено: oktogen от Февраль 15, 2006, 12:43 заработало .
Перекомпалил проект полностью. Все и завелось. Спасибо |