2015-01-13 23 views
7

Próbuję zwiększyć dopełnienie między widżetami zawartymi w QMainWidget i krawędziami QMainWidget. Można zobaczyć problem w obrazek poniżej:Wypełnianie między QMainWindow i zawartymi widżetami

Padding between edges

Nie ma wyściółka między QTabWidget (które jest głównym widget z QMainWidget) i lewej krawędzi okna głównego. Również nie ma dopełnienia między QDockWidgets a prawą krawędzią głównego okna.

Próbowałem zwiększyć wyściółkę z QSS stylów:

QMainWindow { 
    padding: 10px; 
    margin: 10px; 
    border: 5px solid red; 
} 

ale dostał kilka naprawdę nieoczekiwany rezultat:

Unexpected result

Próbowałem wzywającą setContentsMargins metody, ale to faktycznie zmienia marginesy wokół centralny widget, tak jak mówi nazwa metody.

Jak mogę zwiększyć odstęp między QMainWindow a zawartymi widżetami? Czy istnieje sposób, aby to zmienić za pomocą QSS?

+0

Łatwą poprawką byłoby ustawienie zwykłego 'QWidget' jako głównego widgetu i ustawienie' contentsMargins' na layout widżetu. Następnie dodaj swój "QTabWidget" do układu widgetu. – thuga

+0

@ezpresso kiedykolwiek rozwiązałeś to? Mam ten sam problem – Supamee

Odpowiedz

1

Musisz umieścić wszystkie w innym pojemniku, a następnie ustawić ten kontener jako główny widget. Następnie możesz wywołać container.setContentsMargins()