Russian Qt Forum
Сентябрь 30, 2024, 14:27 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [qt-4.2] Вынести виджет на передний план  (Прочитано 9211 раз)
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 не нашел ...
Записан
Maxz
Гость
« Ответ #1 : Февраль 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);

то все картинки останутся на своих местах и их порядок не измениться.
Записан
Lion
Гость
« Ответ #2 : Февраль 27, 2007, 21:58 »

А как меняешь картинки?
Записан
Dodge
Гость
« Ответ #3 : Март 16, 2007, 12:25 »

вызывай show() виджетов по порядку, 1 окажется на заднем плане.
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #4 : Март 17, 2007, 16:11 »

raise() ?
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
_govorilka
Гость
« Ответ #5 : Март 20, 2007, 10:42 »

Для izoomer...
А зачем тебе вообще нужны три метки. Может лучше будет создать Widget и рисовать в нем картинку.
Записан
Dodge
Гость
« Ответ #6 : Март 21, 2007, 12:14 »

Цитата: "_govorilka"
Для izoomer...
А зачем тебе вообще нужны три метки. Может лучше будет создать Widget и рисовать в нем картинку.


вот кстати да... в Qt прекрасно реализованн механизм отрисовки + opengl модуль + плагин этот... артур по моиму =) аффтар дерзайте!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.188 секунд. Запросов: 23.