Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Делегаты Qt

2.2K
22 декабря 2011 года
S@tana
53 / / 15.10.2009
Как сделать чтобы делегат(конопка) всегда был виден в ячейке QTableWidget?
2.2K
23 декабря 2011 года
S@tana
53 / / 15.10.2009
надо именно для делегатов. Через SetCellWidget не трудно кнопку вставить.
277
23 декабря 2011 года
arrjj
1.7K / / 26.01.2011
1)
Цитата: S@tana
Через SetCellWidget не трудно кнопку вставить.


Да! Он именно для этого и сделан! Не хочешь использовать готовые решения, а изобретать велосипеды - не используй sdk никакой

2)Делегат - посредник вызова метода класса. Не представляю как он может быть кнопкой.

3) Если хочешь через делегаты (в qt их как таковых нет, их заменяет система сигналов-слотов, объявить например slot foo; foo=myclass->method; нельзя) самому двигать кнопку - ставишь eventFilter , в нём проверяешь объект и тип события - если твой table и event->type()==QEvent::Scroll , двигаешь куда надо кнопку.

2.2K
23 декабря 2011 года
S@tana
53 / / 15.10.2009
Цитата:
Не представляю как он может быть кнопкой


В офф документации ставят спинбоксы и прогрессбары (причем без всяких setCellWidget), почемуж кнопку нельзя?

277
23 декабря 2011 года
arrjj
1.7K / / 26.01.2011
А всё, понял, я просто с C#-скими делегатами перепутал.

В кратце нужно создать свой класс, наследованный от QStyledItemDelegate , внутри которого создавать и рисовать кнопку.

Доки для чтения.

http://developer.qt.nokia.com/doc/qt-4.8/qstyleditemdelegate.html
http://developer.qt.nokia.com/doc/qt-4.8/itemviews-spinboxdelegate.html
http://developer.qt.nokia.com/doc/qt-4.8/itemviews-stardelegate.html
http://developer.qt.nokia.com/doc/qt-4.8/itemviews-pixelator.html
http://developer.qt.nokia.com/doc/qt-4.8/qabstractitemdelegate.html


А для чего собственно тебе именно делегат то нужен?
2.2K
23 декабря 2011 года
S@tana
53 / / 15.10.2009
Собственно всю документацию русскую (по англицки вооще никак) читал. Делегат вставить получается, но не получается сделать чтобы он отрисовывался постоянно. Во всех примерах которые я видел делегаты использовали в качестве редактора ячейки, поля и тд.

P.S. Хочу сделать делегат-кнопку для удаления соответствующей строки таблицы. Это можно сделать через setCellWidget как предлагалось выше, но опять же есть желание разобраться именно с делегатами.
277
23 декабря 2011 года
arrjj
1.7K / / 26.01.2011
В этом примере показано как сделать делегат, который будет отрисовываться постоянно.
http://developer.qt.nokia.com/doc/qt-4.8/itemviews-stardelegate.html
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог