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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Рамка для QGroupBox  (Прочитано 16285 раз)
Jkc
Гость
« : Апрель 25, 2012, 09:47 »

Народ помогите нарисовать рамку для QGroupBox.
пытался вот так     
ui->groupBox->setStyleSheet("border: 1px solid gray;"
                                                    "border-radius: 3px;"
                                                    "margin-top: 1ex;");
выходит обрамление всех елементов включая лейауты внутри гроупбокса
и при этом название смещается во внутрь, короче полная ерунда.
Мне нужно , просто рамка которая разрывается только для названия гроупбокса.

Записан
spirits25
Гость
« Ответ #1 : Апрель 25, 2012, 10:13 »

Народ помогите нарисовать рамку для QGroupBox.
пытался вот так     
ui->groupBox->setStyleSheet("border: 1px solid gray;"
                                                    "border-radius: 3px;"
                                                    "margin-top: 1ex;");
выходит обрамление всех елементов включая лейауты внутри гроупбокса
и при этом название смещается во внутрь, короче полная ерунда.
Мне нужно , просто рамка которая разрывается только для названия гроупбокса.


попробуй
Код:
ui->groupBox->setStyleSheet("QGroupBox { border: 1px solid gray;"
                            "border-radius: 3px;"
                            "margin-top: 1ex; }");
Записан
UNION labs
Гость
« Ответ #2 : Апрель 25, 2012, 10:34 »

QGroupBox {
   border: 1px solid gray;
   border-radius: 3px;
   margin: 10px;
   padding: 4px;
}

QGroupBox::title {
     subcontrol-origin: margin;
     subcontrol-position: top left;
   padding: 4px;
   left: 20px;
 }
Записан
Jkc
Гость
« Ответ #3 : Апрель 25, 2012, 11:16 »

Цитировать
Код:
ui->groupBox->setStyleSheet("QGroupBox { border: 1px solid gray;"
                            "border-radius: 3px;"
                            "margin-top: 1ex; }");

Спасибо помогло, однако название групбокса опустилось вниз под линию, при том на кнопки, можно что бы оно как бы развало линию и было сверху на своём месте
Записан
spirits25
Гость
« Ответ #4 : Апрель 25, 2012, 11:56 »

Тебе уже ответили, но вот как пример
Код:
QGroupBox::title {
             border: 0px outset gray;
             border-radius: 6px;
             background-color: rgba(255, 255, 255, 140);
                   
             subcontrol-origin: margin;
             color: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 1,
             stop: 0 #111111, stop: 0.7 #111111, stop: 1 #888888);
             subcontrol-position: top left;

             padding-top: 1px;
             padding-left: 14px;
             padding-right: 10px;
             padding-bottom: 0px;
             //или одной
             //padding: 1px 18px 1px 13px;})
Настраивай как захочется
Записан
Jkc
Гость
« Ответ #5 : Апрель 25, 2012, 13:43 »

Тебе уже ответили, но вот как пример
Код:
QGroupBox::title {
             border: 0px outset gray;
             border-radius: 6px;
             background-color: rgba(255, 255, 255, 140);
                   
             subcontrol-origin: margin;
             color: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 1,
             stop: 0 #111111, stop: 0.7 #111111, stop: 1 #888888);
             subcontrol-position: top left;

             padding-top: 1px;
             padding-left: 14px;
             padding-right: 10px;
             padding-bottom: 0px;
             //или одной
             //padding: 1px 18px 1px 13px;})
Настраивай как захочется

О ! 
вроде оно. спасибо всем !!!
Записан
Dynamite
Гость
« Ответ #6 : Ноябрь 18, 2012, 13:51 »

Как задать толщину рамки, так, чтобы учитывался стиль окна (цвет, форма углов). У меня на окно применен стиль QPlastique.
Рамку с верхней таблицей хочу выделить пожирнее.
« Последнее редактирование: Ноябрь 18, 2012, 13:54 от Dynamite » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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