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

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Фильтры  (Прочитано 13576 раз)
Astrologer
Гость
« : Сентябрь 15, 2010, 11:18 »

Всем привет.Мне нужно сделать фильтрацию по базе данных. Хочу над каждым столбцом сделать текстовое поле при вводе в которое будет осуществляться фильтрация. Как добавить над каждым столбцом QTableView QLineEdit чтобы по ширине он совпадал с ним?

Как добавить в QtreeWidget элемент, представляющий собой QLineEdit, чекбокс, .... ?
« Последнее редактирование: Сентябрь 15, 2010, 11:31 от Astrologer » Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Сентябрь 15, 2010, 11:29 »

Тут была тема про то, как встроить текстовые поля в заголовок. Подойдет? Если да, то пробежись по поиску.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Astrologer
Гость
« Ответ #2 : Сентябрь 15, 2010, 11:34 »

Спасибо, думаю подойдет. Только поиск не очень помогает(( киньте ссылку если под рукой есть. И еще вопрос. Например послы выборки мне необходимо сформировать отчет, однако нужно выбрать некоторое количество полей из таблицы. Как это сделать не обращаясь к базе? Насчет выбора полей - можно создать QTreeView и добавить чекбоксы на каждое поле текущей таблицы и по клику их прятать.
« Последнее редактирование: Сентябрь 15, 2010, 11:39 от Astrologer » Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Сентябрь 15, 2010, 11:49 »

Сам что-то найти не могу. Может кто еще подскажет.
По отчету подробнее опиши.

Посмотри вот эту ветку http://www.prog.org.ru/topic_12314_0.html
« Последнее редактирование: Сентябрь 15, 2010, 11:53 от Пантер » Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Astrologer
Гость
« Ответ #4 : Сентябрь 15, 2010, 11:55 »

Как определить щелчок по заголовку столбца?
Записан
crossly
Гость
« Ответ #5 : Сентябрь 15, 2010, 12:16 »

Код:
void QHeaderView::sectionClicked ( int logicalIndex )   [signal]
Записан
Astrologer
Гость
« Ответ #6 : Сентябрь 15, 2010, 12:33 »

Спасибо. Мне кажется я неправильно соединяю, ибо не работает))
Код:
connect(view->verticalHeader(), SIGNAL(sectionClicked(int)), this, SLOT(sort(int)));
Записан
BRE
Гость
« Ответ #7 : Сентябрь 15, 2010, 12:35 »

Спасибо. Мне кажется я неправильно соединяю, ибо не работает))
Код:
connect(view->verticalHeader(), SIGNAL(sectionClicked(int)), this, SLOT(sort(int)));
А точно нужен щелчек по verticalHeader, может все таки horizontalHeader?
Записан
Astrologer
Гость
« Ответ #8 : Сентябрь 15, 2010, 12:38 »

 Улыбающийся Тысяча чертей, вы правы!!
Записан
Astrologer
Гость
« Ответ #9 : Сентябрь 15, 2010, 12:59 »

Насчет выбора полей - можно создать QTreeView и добавить чекбоксы на каждое поле текущей таблицы и по клику их прятать.

Кто нибудь сталкивался?
Записан
Astrologer
Гость
« Ответ #10 : Сентябрь 15, 2010, 14:17 »

Как проверить что QTreeWidgetItem не имеет parent или сделать так, чтобы оно было некликабельным? Ибо если по сигналу itemClicked(QWidgetItem* item, int column) попробовать вызвать item->parent()->text(0) то вылетает.
« Последнее редактирование: Сентябрь 15, 2010, 14:22 от Astrologer » Записан
Astrologer
Гость
« Ответ #11 : Сентябрь 15, 2010, 14:28 »

Как то так.
Код:
void QDbfReader::item_selected(QTreeWidgetItem* item, int column)
{
    if (item->text(0) == "Objects" || item->text(0) == "Tables" || item->text(0) == "Records" ) return;
    if (item->parent()->text(0) == "Objects") select_object(item);
    if (item->parent()->text(0) == "Tables") select_table(item);
    if (item->parent()->text(0) == "Records")
    {
    }

}
Записан
BRE
Гость
« Ответ #12 : Сентябрь 15, 2010, 14:32 »

Как проверить что QTreeWidgetItem не имеет parent или сделать так, чтобы оно было некликабельным? Ибо если по сигналу itemClicked(QWidgetItem* item, int column) попробовать вызвать item->parent()->text(0) то вылетает.
Улыбающийся
Код
C++ (Qt)
if( item->parent() )
// parent != 0 // Имеет parent
else
// parent == 0 // Не имеет parent
 
Записан
Astrologer
Гость
« Ответ #13 : Сентябрь 15, 2010, 15:30 »

Ребят, есть какая нибудь идея как реализовывать фильтры по каждому столбцу?
Записан
crossly
Гость
« Ответ #14 : Сентябрь 15, 2010, 16:08 »

сунуть комбо бокс в хидер и все...
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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