Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: izoomer от Февраль 26, 2007, 13:23



Название: [qt-4.2] Вынести виджет на передний план
Отправлено: izoomer от Февраль 26, 2007, 13:23
Есть такой код в конструкторе
Код:

_image1 = new QLabel(this);
_image1->setGeometry(65,0,50,56);
_image1->setPixmap( QPixmap( "picture/1.png" ) );

_image2 = new QLabel(this);
_image2->setGeometry(45,0,50,56);
_image2->setPixmap( QPixmap( "picture/2.png" ) );

_image3 = new QLabel(this);
_image3->setGeometry(25,0,50,56);
_image3->setPixmap( QPixmap( "picture/3.png" ) );

то есть изображения QLabel как бы наложены на половину одна на другую перекрывая друг друга слево направо(крайнее левое изображение всегда сверху). Если затем в процессе работы менять какое либо изображение, то это изображение выходит на передний план, а остальные уходят на задний, и теряется последовательность прорисовки .... а требуется что бы сохранялась последовательность заданная в конструкторе .... посоветуйте что сделать .... ничего похошего на bringToFront не нашел ...


Название: Re: [qt-4.2] Вынести виджет на передний план
Отправлено: Maxz от Февраль 26, 2007, 18:12
Раньше вроде столкнулся раз с такой проблемкой, сейчас точно не помню...
Кажется, если картинку переопределять как
Код:

_image2 = new QLabel(this);
_image2->setGeometry(45,0,50,56);
_image2->setPixmap( QPixmap( "picture/2222.png" ) );

то порядок поменяется, если просто -
Код:

QPixmap _p=QPixmap( "picture/2222.png" );
_image2->setPixmap(_p);

то все картинки останутся на своих местах и их порядок не измениться.


Название: [qt-4.2] Вынести виджет на передний план
Отправлено: Lion от Февраль 27, 2007, 21:58
А как меняешь картинки?


Название: [qt-4.2] Вынести виджет на передний план
Отправлено: Dodge от Март 16, 2007, 12:25
вызывай show() виджетов по порядку, 1 окажется на заднем плане.


Название: [qt-4.2] Вынести виджет на передний план
Отправлено: Racheengel от Март 17, 2007, 16:11
raise() ?


Название: Re: [qt-4.2] Вынести виджет на передний план
Отправлено: _govorilka от Март 20, 2007, 10:42
Для izoomer...
А зачем тебе вообще нужны три метки. Может лучше будет создать Widget и рисовать в нем картинку.


Название: Re: [qt-4.2] Вынести виджет на передний план
Отправлено: Dodge от Март 21, 2007, 12:14
Цитата: "_govorilka"
Для izoomer...
А зачем тебе вообще нужны три метки. Может лучше будет создать Widget и рисовать в нем картинку.


вот кстати да... в Qt прекрасно реализованн механизм отрисовки + opengl модуль + плагин этот... артур по моиму =) аффтар дерзайте!