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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: разбиение statusbar  (Прочитано 7499 раз)
L.Marvell
Гость
« : Июль 28, 2005, 14:32 »

Нужно, чтобы у статусбара было несколько полей. Пока единственный путь, что я нашел, это добавить нужное количество QGroupBox, а в них добавить по одному QLabel. Может есть более простой метод? Подскажите пожалуйста.
Записан
Zmey
Гость
« Ответ #1 : Июль 28, 2005, 15:31 »

Цитата: "L.Marvell"
Нужно, чтобы у статусбара было несколько полей. Пока единственный путь, что я нашел, это добавить нужное количество QGroupBox, а в них добавить по одному QLabel. Может есть более простой метод? Подскажите пожалуйста.

Не добавлять QGroupBox вообще, а добавить в статус бар нужное кол-во QLabel.
Записан
L.Marvell
Гость
« Ответ #2 : Июль 28, 2005, 15:58 »

Цитата: "Zmey"
Цитата: "L.Marvell"
Нужно, чтобы у статусбара было несколько полей. Пока единственный путь, что я нашел, это добавить нужное количество QGroupBox, а в них добавить по одному QLabel. Может есть более простой метод? Подскажите пожалуйста.

Не добавлять QGroupBox вообще, а добавить в статус бар нужное кол-во QLabel.

Да, но с QGroupBox с параметром setFlat(true) выглядит более приятно, поскольку разные данные находятся в разных "коморках".
Записан
Sergeich
Гость
« Ответ #3 : Июль 28, 2005, 16:32 »

Цитата: "L.Marvell"

Да, но с QGroupBox с параметром setFlat(true) выглядит более приятно, поскольку разные данные находятся в разных "коморках".

Того же эфекта можно добиться с помощью QLabel::setFrameShape и QLabel::setFrameShadow
Записан
L.Marvell
Гость
« Ответ #4 : Июль 28, 2005, 16:48 »

Цитата: "Sergeich"
Цитата: "L.Marvell"

Да, но с QGroupBox с параметром setFlat(true) выглядит более приятно, поскольку разные данные находятся в разных "коморках".

Того же эфекта можно добиться с помощью QLabel::setFrameShape и QLabel::setFrameShadow

Да, как-то я пропустил эту возможность. Спасибо.
Записан
mindz_eye
Гость
« Ответ #5 : Май 29, 2006, 15:23 »

Наткнулся на небольшую странность - QLabel при добавлении в статус бар по умолчанию обрамляется рамкой. Применение setFrameShape( QFrame::NoFrame ) не помогает - рамка остается на месте.
Может кто-нибудь сталкивался?
Записан
nEoN
Гость
« Ответ #6 : Май 30, 2006, 08:21 »

Цитата: "mindz_eye"
Наткнулся на небольшую странность - QLabel при добавлении в статус бар по умолчанию обрамляется рамкой. Применение setFrameShape( QFrame::NoFrame ) не помогает - рамка остается на месте.
Может кто-нибудь сталкивался?

Если заглянуть в QStatusBar::paintEvent, то можно увидеть, что QStatusBar всегда рисует рамки вокруг всех вставленных в него элементов.
Изменить это можно реализацией своего paintEvent, но это не очень здорово.

Ещё один вариант - когда есть необходимость поместить несколько элементов на статусбар, то можно  все эти элементы поместить сперва в QWidget, а затем этот QWidget поместить в QStatusBar. В этом случае будет одна общая рамка для группы элементов.
Записан
alex0303
Гость
« Ответ #7 : Май 30, 2006, 08:45 »

Тоже бодался, потом QHBox задействовал, но ИМХО криво это тролтеч сделал, кому надо рамку легко сделать могут, а вот убрать её гемора больше.
Записан
mindz_eye
Гость
« Ответ #8 : Май 30, 2006, 12:13 »

Проблема в том, что если сделать общую рамку, то она будет исчезать во время появления подсказок и временных сообщений, что не очень эстетично смотрится)) Может есть способ обрамлять и их рамкой? Ну, кроме выдачи этих сообщений вручную...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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