Название: разбиение statusbar Отправлено: L.Marvell от Июль 28, 2005, 14:32 Нужно, чтобы у статусбара было несколько полей. Пока единственный путь, что я нашел, это добавить нужное количество QGroupBox, а в них добавить по одному QLabel. Может есть более простой метод? Подскажите пожалуйста.
Название: Re: разбиение statusbar Отправлено: Zmey от Июль 28, 2005, 15:31 Цитата: "L.Marvell" Нужно, чтобы у статусбара было несколько полей. Пока единственный путь, что я нашел, это добавить нужное количество QGroupBox, а в них добавить по одному QLabel. Может есть более простой метод? Подскажите пожалуйста. Не добавлять QGroupBox вообще, а добавить в статус бар нужное кол-во QLabel. Название: Re: разбиение statusbar Отправлено: L.Marvell от Июль 28, 2005, 15:58 Цитата: "Zmey" Цитата: "L.Marvell" Нужно, чтобы у статусбара было несколько полей. Пока единственный путь, что я нашел, это добавить нужное количество QGroupBox, а в них добавить по одному QLabel. Может есть более простой метод? Подскажите пожалуйста. Не добавлять QGroupBox вообще, а добавить в статус бар нужное кол-во QLabel. Да, но с QGroupBox с параметром setFlat(true) выглядит более приятно, поскольку разные данные находятся в разных "коморках". Название: Re: разбиение statusbar Отправлено: Sergeich от Июль 28, 2005, 16:32 Цитата: "L.Marvell" Да, но с QGroupBox с параметром setFlat(true) выглядит более приятно, поскольку разные данные находятся в разных "коморках". Того же эфекта можно добиться с помощью QLabel::setFrameShape и QLabel::setFrameShadow Название: Re: разбиение statusbar Отправлено: L.Marvell от Июль 28, 2005, 16:48 Цитата: "Sergeich" Цитата: "L.Marvell" Да, но с QGroupBox с параметром setFlat(true) выглядит более приятно, поскольку разные данные находятся в разных "коморках". Того же эфекта можно добиться с помощью QLabel::setFrameShape и QLabel::setFrameShadow Да, как-то я пропустил эту возможность. Спасибо. Название: разбиение statusbar Отправлено: mindz_eye от Май 29, 2006, 15:23 Наткнулся на небольшую странность - QLabel при добавлении в статус бар по умолчанию обрамляется рамкой. Применение setFrameShape( QFrame::NoFrame ) не помогает - рамка остается на месте.
Может кто-нибудь сталкивался? Название: разбиение statusbar Отправлено: nEoN от Май 30, 2006, 08:21 Цитата: "mindz_eye" Наткнулся на небольшую странность - QLabel при добавлении в статус бар по умолчанию обрамляется рамкой. Применение setFrameShape( QFrame::NoFrame ) не помогает - рамка остается на месте. Может кто-нибудь сталкивался? Если заглянуть в QStatusBar::paintEvent, то можно увидеть, что QStatusBar всегда рисует рамки вокруг всех вставленных в него элементов. Изменить это можно реализацией своего paintEvent, но это не очень здорово. Ещё один вариант - когда есть необходимость поместить несколько элементов на статусбар, то можно все эти элементы поместить сперва в QWidget, а затем этот QWidget поместить в QStatusBar. В этом случае будет одна общая рамка для группы элементов. Название: разбиение statusbar Отправлено: alex0303 от Май 30, 2006, 08:45 Тоже бодался, потом QHBox задействовал, но ИМХО криво это тролтеч сделал, кому надо рамку легко сделать могут, а вот убрать её гемора больше.
Название: разбиение statusbar Отправлено: mindz_eye от Май 30, 2006, 12:13 Проблема в том, что если сделать общую рамку, то она будет исчезать во время появления подсказок и временных сообщений, что не очень эстетично смотрится)) Может есть способ обрамлять и их рамкой? Ну, кроме выдачи этих сообщений вручную...
|