Qt Stylesheets - как да премахнете мъртвото пространство

Създавам просто приложение за чертане с помощта на PySide и имам проблем с много мъртво пространство.

Как мога да премахна цялата тази допълнителна подложка с помощта на таблици със стилове (за предпочитане) или програмно? Опитах да задам полета и подложка на QFrame на 0, но с малък ефект.

Използвам оформления за позициониране и моите джаджи са наследени от QFrame и обикновено съдържат други джаджи като QTabWidget, QListWidget и др.

(Избягвах използването на QWidget, тъй като смятам, че това не се поддържа напълно от Qt Stylesheets)

По-долу е екранна снимка на моето приложение, с червени линии, посочващи моето проблемно мъртво пространство (долната червена линия е малко твърде дълга - има лента на състоянието)

въведете описание на изображението тук

Някакви идеи?


person jramm    schedule 21.07.2014    source източник


Отговори (1)


Ако оцветите фона на своите джаджи, ще видите, че никоя стойност за свойство margin или padding няма да промени разстоянието между тях и полето. Това се контролира от оформлението. Следователно във вашия набор от оформления:

layout.setContentsMargins(0, 0, 0, 0)
layout.setSpacing(0)

и всички празни пространства трябва да изчезнат. За съжаление това може да се направи само програмно, а не чрез таблици със стилове. Вижте също коментари в Qt set contentsMargins от stylesheet и Qt премахва полета

person Trilarion    schedule 21.07.2014