10 мая 2019 г. 18:07

Как сделать поиск слов по буквам в lineEdit + textBrowser QT

текст, Поиск, фильтр, слов, qt, Qt, QT, c++, C++, Qt Creator

Здравствуйте
Я новичок в программировании и решил написать программку под экономку с выводами цены и названия товаров но столкнулся с такой проблемой у меня есть два объекта
Объект № (1) textBrowser в нем выводится ряд слов и цифр из БД sqlite
Объект № (2) lineEdit в этом объекте я хочу сделать поиск этих цифр и букв
Тоесть выводится текст из БД в textBrowser затем я ввожу в lineEdit первую букву или цифру из списка в textBrowser и менее показывает список этих слов или цифр
Пример как я хочу сделать на скриншоте

Пример как я хочу сделать

Пример как я хочу сделать

Виртуальный хостинг со скидкой 10 процентов
Виртуальный хостинг со скидкой 10 процентов
EVILEG предлагает надёжный хостинг со скидкой 10% на виртуальный хостинг и 5% на VPS
1
  • 11 мая 2019 г. 4:50
  • Ответ был помечен как решение.

Я так понимаю список у вас на основании модели.
Если так то можно использовать QSortFilterProxyModel
Я фильтровал записи так

    QSortFilterProxyModel *proxyModel = new QSortFilterProxyModel();
    proxyModel->setSourceModel(modelArticles);

void ArticlePage::on_lineEditFind_textChanged()
{
    int columFind; //Колонка модели по которой будем искать
    ui->tableView->setModel(proxyModel);
    QRegExp::PatternSyntax syntax = QRegExp::PatternSyntax(QRegExp::FixedString);
    QRegExp regExp(ui->lineEditFind->text(),Qt::CaseInsensitive,syntax);

    //Тут я выбираю по какому столбцу модели фильторовать
    if(ui->radioButtonName->isChecked()) columFind = 1;
    if(ui->radioButtonArticles->isChecked()) columFind =0;
    if(ui->radioButtonPrice->isChecked()) columFind = 3;

    //Ну и сама фильтрация
    proxyModel->setFilterKeyColumn(columFind);
    proxyModel->setFilterRegExp(regExp);
}
0

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
22 июля 2019 г. 7:26
Pavel K.

Qt - Тест 001. Сигналы и слоты

  • Результат:68баллов,
  • Очки рейтинга-1
o
22 июля 2019 г. 6:26
oksik193

C++ - Тест 001. Первая программа и типы данных

  • Результат:80баллов,
  • Очки рейтинга4
ВД
21 июля 2019 г. 23:33
Влад Долгов

C++ - Тест 001. Первая программа и типы данных

  • Результат:40баллов,
  • Очки рейтинга-8
Последние комментарии
21 июля 2019 г. 6:03
Евгений Легоцкой

да, наверное, 32-х разрядную поддержку уже давно поа было выкинуть. К слову, у вас много проектов под Android? Часто много где вижу вопросы о том, пишет ли кто-то вообще на Qt под мобильные сист…
20 июля 2019 г. 14:41
Андрей Янкович

Очень полезная информация, увы уже выкинул поддержку 32 битных бедняг.
20 июля 2019 г. 9:31
Михаиллл

Вот так qDebug()<<"position:"<<event->scenePos();
20 июля 2019 г. 8:49
Михаиллл

Добрый день. Как можно узнать координату на графической сцене при отпускании клавиши мыши?
Сейчас обсуждают на форуме
22 июля 2019 г. 8:41
BlinCT

Вот только что нашел в инете, у человека такая же ошибка. Вроде бы таже самая проблема https://stackoverflow.com/questions/37633709/how-to-create-qtquick-window-outside-the-main-thread…
22 июля 2019 г. 3:58
Евгений Легоцкой

Добрый день! Нужен совет сообщества по разработке функционала проверки орфографии. Одна из идей - добавить проверку орфографии при наборе текста статей. Полагаю, что наиболее аде…
22 июля 2019 г. 3:01
Евгений Легоцкой

Возможно, если при сохранении файла установить права доступа на файл. Что-то такое должно быть у QFile
22 июля 2019 г. 3:01
Евгений Легоцкой

Я отрисовываю квадрат в его локальной системе координат от верхнего левого угла (-30,-30) до его правого нижнего угла (30,30). Поэтому мне нужно указать размеры объекта через boundingRect()…
20 июля 2019 г. 11:04
Михаиллл

Так и с ресурсами работает QImage image(":/Images/Images/1.png");
Ищу работу?
5,000.00 руб. - 15,000.00 руб.
Дизайнер
Moskovskiy, Moscow, Russia
25,000.00 руб. - 30,000.00 руб.
Разработчик Qt/C++
Barnaul, Altai Krai, Russia

Для зарегистрированных пользователей на сайте присутствует минимальное количество рекламы

EVILEG
О нас
Услуги
Присоединяйтесь к нам
© EVILEG 2015-2019
Рекомендует хостинг TIMEWEB