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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Поиск по QTableWidget  (Прочитано 6202 раз)
CJ1
Гость
« : Июнь 19, 2012, 07:37 »

Нужно сделать поиск по QTableWidget.

Я думаю сделать вот так, создам главное окно, маленькое, в нем строку ввода.
В QlineEdit будут вводится символы и после каждого нажатия, будет происходить цикл читающий всю таблицу

Код:
                           if (ui->tableWidget->item(i,j)->text().startsWith(SearchText)){
                               ui->tableWidget->setCurrentItem(ui->tableWidget->item(i,j),QItemSelectionModel::Select);
                           }


Я думаю вот так, а у вас есть еще какаянибудь идея получше?
« Последнее редактирование: Июнь 19, 2012, 07:43 от CJ1 » Записан
CJ1
Гость
« Ответ #1 : Июнь 19, 2012, 08:51 »

Оказывается есть findItems
Записан
CJ1
Гость
« Ответ #2 : Июнь 19, 2012, 09:22 »

Люди, нужна помощь, делаю вобщем поиск.
Мне нужно чтобы когда я на lineedit нажимал кнопки, в фокусе была еще и таблвиджет , чтобы она могла синим выделятся
Записан
mutineer
Гость
« Ответ #3 : Июнь 19, 2012, 10:16 »

Сомневаюсь что у тебя получится два виджета держать в фокусе. Это противоречит идее фокуса, имхо. Выделяй другим способом
Записан
shirushizo
Гость
« Ответ #4 : Июнь 19, 2012, 10:34 »

У QTableWidgetItem'а есть методы:
Код:
void QTableWidgetItem::setBackground ( const QBrush & brush )
void QTableWidgetItem::setForeground ( const QBrush & brush )
void QTableWidgetItem::setFont ( const QFont & font )
При их помощи можно установить цвет и стиль фона, цвет и стиль текста, шрифт - соответственно. Можно использовать их для выделения конкретных элементов.
Так же есть метод
Код:
void QTableWidgetItem::setData ( int role, const QVariant & value ) [virtual]

Который позволяет сделать то же самое, если использовать следующие роли из перечисления Qt::ItemDataRole:
Qt::FontRoleThe font used for items rendered with the default delegate. (QFont)
Qt::TextAlignmentRoleThe alignment of the text for items rendered with the default delegate. (Qt::AlignmentFlag)
Qt::BackgroundRoleThe background brush used for items rendered with the default delegate. (QBrush)
Qt::BackgroundColorRoleThis role is obsolete. Use BackgroundRole instead.
Qt::ForegroundRoleThe foreground brush (text color, typically) used for items rendered with the default delegate. (QBrush)
Qt::TextColorRole   This role is obsolete. Use ForegroundRole instead.

А по поводу одновременного фокуса на 2х элементах согласен с mutineer. Не бывает такого.

Дерзайте!
Записан
CJ1
Гость
« Ответ #5 : Июнь 19, 2012, 12:07 »

Сделал! Спасибо!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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