![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Гость_0xFF_* |
![]()
Сообщение
#1
|
Гости ![]() |
День добрый
![]() Пишу программу, очень нужен property browser, кто-нибудь реализовывал такой компонент на Qt? С чего начать? Видел такой в Qt Solutions, но они не дают его даже для разработки некоммерческой/open-source проги ![]() ![]() ![]() ![]() |
|
|
ViGOur |
![]()
Сообщение
#2
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
В чем именно проблема, в реализации?
Просто одно дело, когда есть какие-то проблема при реализации, другое, когда ищешь готовое решение. Готового решения кроме как в Qt Solutions я не видел. |
|
|
ViGOur |
![]()
Сообщение
#3
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Вот есть статья как создать свой The Property Browser Framework
Думаю по ней, будет понятно, с чего начать... |
|
|
Гость_Гость_* |
![]()
Сообщение
#4
|
Гости ![]() |
Хорошо, задам конкретный вопрос
![]() |
|
|
Гость_Гость_* |
![]()
Сообщение
#5
|
Гости ![]() |
Так, вопрос с виджетами снят, все оказалось проще чем я думал
![]() ![]() |
|
|
ViGOur |
![]()
Сообщение
#6
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Может QTreeWidgetItem::setChildIndicatorPolicy c параметром? Просто по умолчанию устанавливается QTreeWidgetItem::ShowForChildren, можно попробовать с QTreeWidgetItem::DontShowIndicatorWhenChildless
|
|
|
ViGOur |
![]()
Сообщение
#7
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
А вообще, я где-то видел на vb + qt реализацию property browser, поискать нужно только, как пример как что реализовать думаю подойдет.
|
|
|
Гость_Гость_* |
![]()
Сообщение
#8
|
Гости ![]() |
Не помогло. Вообще ничего не происходит с любыми параметрами
![]() |
|
|
ViGOur |
![]()
Сообщение
#9
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Гость_Гость_* |
![]()
Сообщение
#10
|
Гости ![]() |
Классный пример
![]() |
|
|
ViGOur |
![]()
Сообщение
#11
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Угу, я тоже это заметил
![]() У меня пока комп чистый, Qt пока не скомпилил, как скомпилю попробую как и что, а то так пока не понятно как и что. ![]() |
|
|
Гость_Гость_* |
![]()
Сообщение
#12
|
Гости ![]() |
Что-то мне кажется, что от вертикальных линий не избавиться =(.
Можно ли присвоить отдельным элементам различные QItemDelegate? И как? Просто не знаю как по-другому нарисовать группы, хочу группировать с-ва в группы, а заголовок группы рисовать, например, с серым фоном(как на скрине) |
|
|
ViGOur |
![]()
Сообщение
#13
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
setItemDelegate(new TValueItemDelegate(this)); ???
из примера Value Browser 3. Сообщение отредактировал ViGOur - 11.11.2007, 17:31 |
|
|
Гость_Гость_* |
![]()
Сообщение
#14
|
Гости ![]() |
setItemDelegate установит делегат для всех элементов, а мне нужно только для тех, которые свойства группируют
|
|
|
ViGOur |
![]()
Сообщение
#15
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Этот вопрос тоже требует времени для ответа, пока не знаю как...
![]() Но если грубо, то можно для каждой группы сделать свой виджет QTreeWidget и для него вызывать setItemDelegate, но думаю есть более красивый способ. |
|
|
Гость_Гость_* |
![]()
Сообщение
#16
|
Гости ![]() |
Может можно как-то по-другому заменить код отрисовки элементов?
|
|
|
ViGOur |
![]()
Сообщение
#17
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
С линиями, думаю, можно обычной вставкой иконок для рутовых эелементов.
А вот с setItemDelegate пока не знаю, буду смотреть... |
|
|
Admin |
![]()
Сообщение
#18
|
Администратор ![]() ![]() ![]() ![]() Группа: Администратор Сообщений: 646 Регистрация: 9.10.2007 Из: crossplatform.ru Пользователь №: 1 Спасибо сказали: 17 раз(а) Репутация: ![]() ![]() ![]() |
Можно ли присвоить отдельным элементам различные QItemDelegate? И как? Просто не знаю как по-другому нарисовать группы, хочу группировать с-ва в группы, а заголовок группы рисовать, например, с серым фоном(как на скрине) void QAbstractItemView::setItemDelegateForRow ( int row, QAbstractItemDelegate * delegate ) или void QAbstractItemView::setItemDelegateForColumn ( int column, QAbstractItemDelegate * delegate ) на выбор ![]() |
|
|
ViGOur |
![]()
Сообщение
#19
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Чтобы не рисовались линии, тебе нужно переопределить:
void QTreeView::drawBranches(QPainter *painter, const QRect &rect, const QModelIndex &index) const; Если у тебя не получиться, то как время будет покажу как... |
|
|
Гость_Гость_* |
![]()
Сообщение
#20
|
Гости ![]() |
Admin
ViGOur Спасибо! Щас буду пробовать ![]() |
|
|
Admin |
![]()
Сообщение
#21
|
Администратор ![]() ![]() ![]() ![]() Группа: Администратор Сообщений: 646 Регистрация: 9.10.2007 Из: crossplatform.ru Пользователь №: 1 Спасибо сказали: 17 раз(а) Репутация: ![]() ![]() ![]() |
Если доделаешь, то может выложишь исходники? Я их на сайт повешу.
Просто сейчас намечаю раздельчик в котором будут лежать исходики и краткое описание к ним... ![]() p.s. если решишь выложить, то авторство укажи. ![]() |
|
|
Гость_Гость_* |
![]()
Сообщение
#22
|
Гости ![]() |
ViGOur
>>Чтобы не рисовались линии, тебе нужно переопределить: >>void QTreeView::drawBranches(QPainter *painter, const QRect &rect, const QModelIndex &index) const; Вот ещё метод ![]() |
|
|
0xF |
![]()
Сообщение
#23
|
Студент ![]() Группа: Участник Сообщений: 71 Регистрация: 12.11.2007 Пользователь №: 20 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
>>Если доделаешь, то может выложишь исходники? Я их на сайт повешу.
ОК ![]() ![]() |
|
|
ViGOur |
![]()
Сообщение
#24
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
ViGOur Мда, а о таблицах стилей я не подумал, хотя перевожу их... >>Чтобы не рисовались линии, тебе нужно переопределить: >>void QTreeView::drawBranches(QPainter *painter, const QRect &rect, const QModelIndex &index) const; Вот ещё метод ![]() ![]() |
|
|
0xF |
![]()
Сообщение
#25
|
Студент ![]() Группа: Участник Сообщений: 71 Регистрация: 12.11.2007 Пользователь №: 20 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Давненько меня тут не было
![]() Вобщем сделал я Property Grid, заточенный под мои нужды, правда, немного порочный ![]() |
|
|
ViGOur |
![]()
Сообщение
#26
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
А качестве аттача сюда можно выложить...
![]() |
|
|
0xF |
![]()
Сообщение
#27
|
Студент ![]() Группа: Участник Сообщений: 71 Регистрация: 12.11.2007 Пользователь №: 20 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Код ![]() |
|
|
ViGOur |
![]()
Сообщение
#28
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Admin |
![]()
Сообщение
#29
|
Администратор ![]() ![]() ![]() ![]() Группа: Администратор Сообщений: 646 Регистрация: 9.10.2007 Из: crossplatform.ru Пользователь №: 1 Спасибо сказали: 17 раз(а) Репутация: ![]() ![]() ![]() |
спасибо, выложу...
|
|
|
Admin |
![]()
Сообщение
#30
|
Администратор ![]() ![]() ![]() ![]() Группа: Администратор Сообщений: 646 Регистрация: 9.10.2007 Из: crossplatform.ru Пользователь №: 1 Спасибо сказали: 17 раз(а) Репутация: ![]() ![]() ![]() |
Выложил: Property browser
|
|
|
Admin |
![]()
Сообщение
#31
|
Администратор ![]() ![]() ![]() ![]() Группа: Администратор Сообщений: 646 Регистрация: 9.10.2007 Из: crossplatform.ru Пользователь №: 1 Спасибо сказали: 17 раз(а) Репутация: ![]() ![]() ![]() |
Тему разделил, сообщения перенесены в новую тему: Property Browser (PropertySheet)
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 4.5.2025, 23:11 |