Первая проблема достаточно проста. Когда вы добавляете таблицу стилей в элемент управления, она автоматически распространяет стиль на все дочерние виджеты.Однако вы можете ограничить использование таблицы стилей несколькими способами.Вы можете указать тип элемента управления, к которому хотите применить таблицу стилей.Пример:
QGroupBox {
border: 2px solid gray;
border-radius: 3px;
}
Эта таблица стилей будет установлена только для групповых блоков.Однако, если вы поместите в это поле второй групповой блок, стиль будет распространяться и на этот.Что может быть хорошим или плохим.
Другой способ заключается в том, чтобы конкретно указать имя объекта виджета, к которому вы применяете стиль.Пример:
QGroupBox#MyGroupBox {
border: 2px solid gray;
border-radius: 3px;
}
Это только применит стиль к групповому блоку с именем объекта MyGroupBox.
Что касается пробела, это происходит, потому что заголовок рисуется сверхувашей границы.Вы также можете добавить раздел в таблицу стилей, чтобы изменить заголовок группы.Это включает в себя настройку прозрачного фона и перемещение заголовка к содержанию ваших сердец.
Пример. Это позволит установить заголовок в верхнем левом углу группового поля прямо внутри границы, без пропусков.
QGroupBox::title {
background-color: transparent;
subcontrol-position: top left; /* position at the top left*/
padding:2 13px;
}