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

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

Страниц: 1 2 3 [4]   Вниз
  Печать  
Автор Тема: [РЕШЕНО]Создание модели на основе QAbstractTableView  (Прочитано 29101 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #45 : Март 28, 2016, 14:51 »

Не понял где проблема. Убрал resizeColumns(rows)ToContents и добавил setSectionResize в конструктор таблицы (аттач). Что не устраивает?
Записан
Bepec
Гость
« Ответ #46 : Март 28, 2016, 14:53 »

Хех невнимательность многих сгубила Веселый
Записан
Larry
Гость
« Ответ #47 : Март 28, 2016, 15:19 »

Сейчас буду разбираться. В минимальном проекте работает, а вот в основном тормоза...
Записан
Larry
Гость
« Ответ #48 : Март 28, 2016, 15:31 »

Не могу понять где траблы, но на основном проекте висит и все...хз где искать...
Записан
Larry
Гость
« Ответ #49 : Март 28, 2016, 16:05 »

Убрать тормоза так и не получилось - буду разбираться...А как выделять строки через делегат? Подсунул свой делегат, чтобы изображения центрировало, а выделение не работает.
Записан
Bepec
Гость
« Ответ #50 : Март 28, 2016, 16:39 »

Ну как вариант отрисовывать самому Веселый Вроде все данные для этого есть, тень там наложить али ещё что Улыбающийся
Записан
Larry
Гость
« Ответ #51 : Март 28, 2016, 16:56 »

это по сигналу clicked?
Записан
Larry
Гость
« Ответ #52 : Март 29, 2016, 16:35 »

Подскажите, а как перехватить событие scroll от QTableView, вернее определить что полоса прокрутки дошла до минимума или максимума? Я переопределил eventFilter и перехватываю событие QEvent::Scroll, но не смог найти как определить что уже достигли одного из пределов.
Спасибо.
Записан
Larry
Гость
« Ответ #53 : Март 29, 2016, 17:04 »

Спасибо, я думал через eventFilter, а здесь через сигнал. Значит так и сделаем.
Записан
VPS
Гость
« Ответ #54 : Март 29, 2016, 17:06 »

По нечаянности ответ удалил. Улыбающийся
Повторю снова:
Подскажите, а как перехватить событие scroll от QTableView, вернее определить что полоса прокрутки дошла до минимума или максимума? Я переопределил eventFilter и перехватываю событие QEvent::Scroll, но не смог найти как определить что уже достигли одного из пределов.
Спасибо.
Цитата: vps
Есть такой сигнал:
Код
C++ (Qt)
void QAbstractSlider::valueChanged(int value)
Записан
Larry
Гость
« Ответ #55 : Март 29, 2016, 17:25 »

Сигнал наверное не подойдет...У меня следующая ситуация: есть карта (QWebView) установленная как centalwidget и сверху панель с QTableView. При прокрутке колесиком мышки, когда полоса прокрутки доходит либо до верха, либо до низа начинает зумиться карта, т.к. она является родителем панели и мне надо запретить зум. Как это сделать? Я думал через eventFilter...
Записан
VPS
Гость
« Ответ #56 : Март 29, 2016, 20:03 »

Сигнал наверное не подойдет...У меня следующая ситуация: есть карта (QWebView) установленная как centalwidget и сверху панель с QTableView. При прокрутке колесиком мышки, когда полоса прокрутки доходит либо до верха, либо до низа начинает зумиться карта, т.к. она является родителем панели и мне надо запретить зум. Как это сделать? Я думал через eventFilter...
Можно на "QTableView" поставить фильтр на событие "QEvent::Wheel", в котором возвращать "true" (чтобы обработка не передавалась далее).
Записан
Larry
Гость
« Ответ #57 : Март 29, 2016, 21:03 »

Спасибо большое. Попробую.
Записан
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #58 : Март 30, 2016, 09:57 »

А как выделять строки через делегат? Подсунул свой делегат, чтобы изображения центрировало, а выделение не работает.
если достаточно дефолтного выделения, достаточно в начале void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override; поместить следующий код:
Код
C++ (Qt)
   QStyleOptionViewItem opt = option;
   initStyleOption(&opt, index);
 
   const QWidget *widget = option.widget;
   QStyle *style = widget ? widget->style() : QApplication::style();
   style->drawPrimitive(QStyle::PE_PanelItemViewItem, &opt, painter, widget);
 
Если хочется своего выделения, обрати внимание на переменную QStyle::State QStyleOption::state (option.state)
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
Larry
Гость
« Ответ #59 : Март 30, 2016, 11:17 »

Да, спасибо, я уже это реализовал Улыбающийся
Записан
Страниц: 1 2 3 [4]   Вверх
  Печать  
 
Перейти в:  


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