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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: QTableWidget  (Прочитано 11257 раз)
mutineer
Гость
« Ответ #15 : Август 28, 2013, 12:39 »

Древовидная модель и и пара табличных view должны с таким справиться.

Либо две модели - одна перечисляет станции, а другая все устройства. На модель с устройствами нацеплен фильтр по станции

А есть какой-нибудь пример с двумя вью, где есть фильтр, чтобы посмотреть как это сделать, я с трудом представляю все это

Не знаю, поищи по стандартным примерам Model/View
Записан
demaker
Птица говорун
*****
Offline Offline

Сообщений: 962


Просмотр профиля
« Ответ #16 : Август 28, 2013, 12:45 »

айтемы проще на лету создавать чем хранить в поле класса
да, и «станция» по-английски пишется без буквы n. *чувствую сейчас последует что-то вроде «сейчас я сосредоточен на задаче, а всякие красивости буду делать после»*

 Улыбающийся, нет
я лохонулся Веселый

айтемы проще на лету создавать чем хранить в поле класса
Да, возможно вы правы, что надо именно так
Записан
demaker
Птица говорун
*****
Offline Offline

Сообщений: 962


Просмотр профиля
« Ответ #17 : Август 28, 2013, 12:48 »

Не знаю, поищи по стандартным примерам Model/View
"Будем искать"  Улыбающийся
Записан
zlex007
Гость
« Ответ #18 : Октябрь 10, 2013, 12:29 »

Добрый день. Вопрос по QTableWidget. В Qt Designer на форме размещаю таблицу фиксированного размера (количество строк и столбцов), для некоторых ячеек устанавливаю свойства (flags) опять же через Designer и соответствующее окно. Затем в коде начинаю заполнять ячейки QTableWidgetItem. Вопрос: Можно ли в коде получить свойства, которые были установлены через Designer для ячеек, перед тем как записывать в ячейку item?
Спасибо.
Записан
mutineer
Гость
« Ответ #19 : Октябрь 10, 2013, 12:44 »

Qt::ItemFlags QTableWidgetItem::flags () const

P.S. стоило бы отдельную тему сделать
Записан
zlex007
Гость
« Ответ #20 : Октябрь 10, 2013, 12:56 »

Пробовал. До заполнения item в ячейке пустой, соответственно flags не у кого взять. Именно интересуют те свойства, которые были установлены в дизайнере.
Записан
mutineer
Гость
« Ответ #21 : Октябрь 10, 2013, 13:03 »

пустой в смысле QTablewidget::item() возвращает 0?
Записан
zlex007
Гость
« Ответ #22 : Октябрь 10, 2013, 13:04 »

Да, указатель на item NULL.
Записан
mutineer
Гость
« Ответ #23 : Октябрь 10, 2013, 13:06 »

QTableWidget::model()->flags() что говорит?
Записан
zlex007
Гость
« Ответ #24 : Октябрь 10, 2013, 13:11 »

Прошу прощения, как раз там где менял свойства item не NULL. Спасибо за встряску мозгов. Улыбающийся
Записан
zlex007
Гость
« Ответ #25 : Октябрь 10, 2013, 13:17 »

Тогда вопрос вдогонку. Необходимо выравнивать item.icon по центру ячейки. Нашел решение сделать свой класс и перегрузить viewOptions.

#include "mytable.h"

MyTable::MyTable(QWidget *parent): QTableWidget(parent)
{
    MyTable::viewOptions();
}

void MyTable::setAlig()
{
    MyTable::viewOptions();
}

QStyleOptionViewItem MyTable::viewOptions() const
{
    QStyleOptionViewItem option = QTableWidget::viewOptions();

    option.decorationPosition = QStyleOptionViewItem::Top;
    option.decorationAlignment = Qt::AlignHCenter | Qt::AlignCenter;
    return option;
}

Вызываю viewOptions, но эффекта не дает.
Записан
mutineer
Гость
« Ответ #26 : Октябрь 10, 2013, 13:18 »

И не должно - ты вызвал viewOptions, он тебе собрал и вернул option, но ты его выкинул просто
Записан
zlex007
Гость
« Ответ #27 : Октябрь 10, 2013, 13:26 »

Не могу обнаружить метод для их записи.
Записан
zlex007
Гость
« Ответ #28 : Октябрь 10, 2013, 14:57 »

Необходимо перегрузить paint() в itemdelegate()?
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #29 : Октябрь 12, 2013, 20:21 »

Сам раньше мучался с таблицами. Пока не изучил Model/View. Теперь не пользуюсь QTableWidget вообще, только viewы.
Потратьте полдня на изучение этого шаблона проектирования и вы увидите насколько легче станет вам в работе с таблицами!
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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