Chciałbym wstawić spację, aby oddzielić drugą kartę od trzeciej. czy to możliwe? Wypróbowałem kilka arkuszy stylów, ale ponieważ ten widżet jest dla mnie nowością, nie udało mi się dotychczas osiągnąć żadnego sukcesu.Jak wstawić spację między dwiema kartami w QTabWidget?
Odpowiedz
Tak, jest to możliwe, ale nie tak oczywiste. Oto jeden ze sposobów, w jaki pojawiłem się jakiś czas temu.
Zawsze, gdy potrzebujesz spacji między dwiema zakładkami, włóż nową kartę pomiędzy zakładki i unieruchom kolejną kartę, dzwoniąc pod numer QTabWidget::setTabEnabled(int index, bool enable)
. W ten sposób nowa karta nie będzie już możliwa do interakcji (chyba że karta jest jedyną obecną). Potrzebny będzie również ustawić następujące arkusz stylów na swój QTabWidget
:
QTabBar::tab:disabled {
width: 100px;
color: transparent;
background: transparent;
}
Ten arkusz stylów sprawia, że nową kartę niewidoczną (właściwie to sprawia, że wszystkie karty niepełnosprawnych niewidoczny, więc chyba to jest OK, metoda ta nie będzie pracować dla Ciebie). Możesz dostosować szerokość przestrzeni, zmieniając wartość width
w arkuszu stylów.
Rezultat:
Powinieneś dostać za to +100 włamać! –