Здравствуйте, гость ( Вход | Регистрация )
|
zamnach |
6.8.2008, 16:31
Сообщение
#1
|
|
Студент ![]() Группа: Участник Сообщений: 36 Регистрация: 18.7.2008 Пользователь №: 239 Спасибо сказали: 0 раз(а) Репутация: 0
|
пытаюсь сделать плагин, наследуя QLineEdit.
мой Edit отличается от QLineEdit только наличием свойства AddName (+метод set и приватный член типа QString) плагин собирается и устанавливается в Дизайнер. на форму кидаю свой Edit - все ОК, задаю св-во AddName. при предварительном просмотре ничего на форме не видно. смекаю - надо свой метод написать paintEvent и sizeHint как вызвать "стандартный" paintEvent и sizeHint, тот который родительский (внешне мой контрол ничем не отличается от родителя)? мозх плавится((. Спасибо. |
|
|
|
![]() |
|
Litkevich Yuriy |
6.8.2008, 17:19
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
а зачем paintEvent свой?
можешь код плагина привести? P.S. Если код длинный, то лучше обернуть в тэг [expand=исходники][/expand] |
|
|
|
|
zamnach |
6.8.2008, 17:51
Сообщение
#3
|
|
Студент ![]() Группа: Участник Сообщений: 36 Регистрация: 18.7.2008 Пользователь №: 239 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(Litkevich Yuriy @ 6.8.2008, 18:19) Link а зачем paintEvent свой? можешь код плагина привести? P.S. Если код длинный, то лучше обернуть в тэг [expand=исходники][/expand] все заработало. ошибка была в след-м: код плагина был примерно такой: QString CamLineEditPlugin::name() const { return "CamLineEdit";// было AnotherName } QWidget *CamLineEditPlugin::createWidget(QWidget *parent) { return new CamLineEdit(parent); } я для благозвучности имени, присваиваемому объекту по-умолчанию вместо "CamLineEdit" забил AnotherName. И как-то игнорировал сообщения от дизайнера при взятии(drag) своего объекта с палитры: "A class name mismatch occurred when creating a widget using the custom widget factory registered for widgets of class AnotherName. It returned a widget of class CamLineEdit." а после ваших постов решил перевести на русский сей мессидж. исправил и все заработало. в связи с этим, новый вопрос: каким образом для custom widget можно задавать имя объекта по умолчанию, например чтобы при добавлении на форму нового объекта имя у него было AnotherName_[число]? и другие какие-нить свойства, унаследованные от родителя? спасибо |
|
|
|
zamnach Custom Widget не виден на форме 6.8.2008, 16:31
void* Цитата(zamnach @ 6.8.2008, 16:31) как выз... 6.8.2008, 17:19
zamnach обнаружилось странное, товарищи!
есть два прое... 7.8.2008, 17:04
Litkevich Yuriy Есть такое правило, чесно сказать незнаю потрохов ... 7.8.2008, 17:09
zamnach все заработало, почему - пока не знаю. но по прогр... 11.8.2008, 11:54
zamnach Цитата(zamnach @ 11.8.2008, 11:54) Есть p... 28.11.2008, 16:23![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 8.12.2025, 16:37 |