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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как изменить расстояние между виджетами в какой-либо компоновке  (Прочитано 6996 раз)
poru
Самовар
**
Offline Offline

Сообщений: 103


Просмотр профиля
« : Февраль 06, 2015, 12:45 »

Как используя Qt Style Sheets изменить расстояние между "виджетами", которые скомпонованы в QHBoxLayout или QVBoxLayout?
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Февраль 06, 2015, 13:03 »

Просто в лоб не получится.
QSS работает только с виджетами.
Записан

Qt 5.11/4.8.7 (X11/Win)
Bepec
Гость
« Ответ #2 : Февраль 06, 2015, 13:31 »

Ну если между этими виджетами есть разделяющий виджет, то вполне ему можно размер менять с помощью CSS.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #3 : Февраль 06, 2015, 13:42 »

Ну если между этими виджетами есть разделяющий виджет, то вполне ему можно размер менять с помощью CSS.
Ну это уж совсем через оное место. Грустный

Если очень хочется и есть возможность отнаследоваться от виджета с лэйаутом, то можно сделать так:
Код
C++ (Qt)
class LayoutWidget : public BaseWidget
{
Q_PROPERTY( int layoutSpacing READ layoutSpacing WRITE setLayoutSpacing )
public:
int layoutSpacing() const { return layout()->spacing(); }
void setLayoutSpacing( int v ) { layout()->setSpacing( v ); }
};

Код
CSS
LayoutWidget { property-layoutSpacing: 100 }
Записан

Qt 5.11/4.8.7 (X11/Win)
poru
Самовар
**
Offline Offline

Сообщений: 103


Просмотр профиля
« Ответ #4 : Февраль 06, 2015, 14:30 »

В горизонтальной компоновке 2 кнопки.
Код
CSS
QPushButton[text="Yes"] {
margin: 0 15 0 0;
padding: 5 0;
}
 
QPushButton[text="No"] {
margin: 0 0 0 15;
padding: 5 0;
}
 

Визуально расстояние между кнопками увеличилось. А хотелось бы и уменьшать. Если margin большой, то свободное пространство продолжает принимать клик от мышки. Выглядит как-то нелепо. Как исправить?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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