Необходимо было отрисовать часть плагина(крестик со строкой ) на родительском окне - т.е. за пределами отрисовки плагина. Для этого создал в плагине дружественный класс для которого переопределил отрисовку.
Это в конструкторе плагина:
C++ (Qt)
mAim=new HmiAim(this->parentWidget());
Вот что в самой отрисовке (хотя это вряд ли имеет значение):
C++ (Qt)
void
HmiAim::paintEvent(QPaintEvent *event)
{....//select penColor
QPainter *painter=new QPainter(this);
// draw claw
QPen *pen=new QPen;
pen->setColor(penColor);
pen->setWidth(2);
painter->setPen(*pen);
painter->drawLine(0,15,30, 15);
painter->drawLine(15,0, 15, 30);
QFont fontLabel("Arial", 10, QFont::Bold);
painter->setFont(fontLabel);
painter->drawText(30,20,labelText);
delete pen;
delete painter;
}
При загрузке плагина программно и в preview дизайнера - всё отрабатывает отлично - нужный объект рисуется и в плагине и за его пределами, но в дизайнере я эту часть плагина ни разу не видел. Поскольку сталкивался уже с несколькими проблемами самого дизайнера при создании плагинов(неправильной отрисовки сложных плагинов при изменении свойств, не правильным отображением контролов при изменении QLaout, не отображением первого ресурса в конструкторе - но это всё мне удалось обойти, а с данной проблемой решения пока не вижу), то возникает вопрос это можно как то обойти, что-то я делаю не так , и действительно ли это проблема дизайнера? Использую QT 4.5.3
Ещё такой момент - когда в тестовом приложении уже созданное ui окно загружаешь с этими плагинами - так этот крестик и в дизайнере отрисовывается(причем если удалить плагин, он останется), а вот если добавишь новый - то крестика уже не будет - это почти меня убедило , что глючит дезайнер.