custom widget, как сделать "составные" property? |
Здравствуйте, гость ( Вход | Регистрация )
custom widget, как сделать "составные" property? |
zamnach |
16.9.2008, 15:44
Сообщение
#1
|
Студент Группа: Участник Сообщений: 36 Регистрация: 18.7.2008 Пользователь №: 239 Спасибо сказали: 0 раз(а) Репутация: 0 |
синопсис: есть класс MyWidget, хочу прикрутить к нему свойство примерно так
Q_PROPERTY (mytype format READ GetFormat); // но класс mytype - не относится к QString, bool, int и т.п. и видимо поэтому, свойство format в QtDesigner не появилось. в чем подвох? спасибо |
|
|
Litkevich Yuriy |
16.9.2008, 16:03
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
не пробывал такие штуки делать, но предположу:
Нужно зарегестрировать свой тип данных в Qt'ях см. Q_DECLARE_METATYPE ( Type ) |
|
|
bobdva |
8.10.2008, 15:48
Сообщение
#3
|
Студент Группа: Участник Сообщений: 29 Регистрация: 2.10.2008 Из: Москва Пользователь №: 377 Спасибо сказали: 0 раз(а) Репутация: 0 |
интересно как решилась проблема ?
c Q_DECLARE_METATYPE (myType) что-то не пошло... |
|
|
Litkevich Yuriy |
8.10.2008, 15:59
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
bobdva |
8.10.2008, 16:18
Сообщение
#5
|
Студент Группа: Участник Сообщений: 29 Регистрация: 2.10.2008 Из: Москва Пользователь №: 377 Спасибо сказали: 0 раз(а) Репутация: 0 |
c Q_DECLARE_METATYPE (myType) что-то не пошло... совершенно не информативная фраза, нужно что-нибудь конкретнее.для класса продекларировано:
где myType - собственный тип, при этом
метод не отрабатывает, хотя директива
есть. |
|
|
Litkevich Yuriy |
8.10.2008, 16:21
Сообщение
#6
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
можешь собрать наипростейший пример, где объявляется свой тип и регистрируется в системе метаинформации Qt?
т.е. минимальный, без объявления свойств виджета. Попробую поэксперементировать. |
|
|
bobdva |
8.10.2008, 16:36
Сообщение
#7
|
Студент Группа: Участник Сообщений: 29 Регистрация: 2.10.2008 Из: Москва Пользователь №: 377 Спасибо сказали: 0 раз(а) Репутация: 0 |
someinfo.h
и someinfo.cpp
|
|
|
Litkevich Yuriy |
8.10.2008, 16:39
Сообщение
#8
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
bobdva, "Хорошо начал, не разменивайся на мелочах"
Т.е. и main.cpp давай |
|
|
bobdva |
8.10.2008, 17:21
Сообщение
#9
|
Студент Группа: Участник Сообщений: 29 Регистрация: 2.10.2008 Из: Москва Пользователь №: 377 Спасибо сказали: 0 раз(а) Репутация: 0 |
bobdva, "Хорошо начал, не разменивайся на мелочах" Т.е. и main.cpp давай оказывается не правильно использовал setProperty - надо передавать в него QVariant, но каким-то образом собиралось с просто SomeInfo... итого - всё работает widget.h
widget.cpp
main.cpp
а теперь вопрос - а как бы это всё можно было бы использовать через ui ??? |
|
|
zamnach |
10.10.2008, 15:59
Сообщение
#10
|
Студент Группа: Участник Сообщений: 36 Регистрация: 18.7.2008 Пользователь №: 239 Спасибо сказали: 0 раз(а) Репутация: 0 |
за пример - благодарствую. будем посмотреть
по поводу "использовать через ui ??? ", задайте четко вопрос и я попробую найти ответ. |
|
|
Текстовая версия | Сейчас: 21.12.2024, 19:36 |