Arkusze stylów to potężny mechanizm do zmiany wyglądu dowolnego widżetu w Qt.
Aby uzyskać szybki samouczek, zobacz artykuł here, a także here, aby uzyskać poradnik. Arkusze stylów można przypisać za pomocą edytora w Projektancie lub przekazać jako ciąg za pomocą polecenia setStylesheet (QString). Z pewnością łatwiej jest korzystać z Projektanta, ponieważ wtedy możesz zobaczyć, jak będzie wyglądał twój widget przed jego uruchomieniem.
Teraz za konkretny problem. QSplitter jest zasadniczo QFrame. Ale zawiera również uchwyt - jak wiesz. Zwykle jest to zazwyczaj stylizowane.
I tak na przykład można to zrobić:
QSplitter::handle {
image: url(:/images/splitter.png);
}
który zapewnia obraz o uchwycie rozgałęźnika. Jest to trochę podobne do tego, co zostało zrobione w Motif, gdzie jest zawsze mały prostokątny uchwyt, który użytkownik może kliknąć, aby przesunąć splitter.
Przy odrobinie eksperymentów możesz utworzyć fajną linię oddzielającą uchwyt.
QSplitter::handle {
background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0,
stop:0 rgba(255, 255, 255, 0),
stop:0.407273 rgba(200, 200, 200, 255),
stop:0.4825 rgba(101, 104, 113, 235),
stop:0.6 rgba(255, 255, 255, 0));
image: url(:/images/splitter.png);
}
Albo coś bardziej narysowanego jak ten.
QSplitter::handle:horizontal {
background: qlineargradient(x1:0, y1:0, x2:1, y2:1,
stop:0 #eee, stop:1 #ccc);
border: 1px solid #777;
width: 13px;
margin-top: 2px;
margin-bottom: 2px;
border-radius: 4px;
}
Z tego ostatniego, tylko specjalnie zastąpić splitter poziomej, ze względu na pewne właściwości - jak margin-górze i na dole, i szerokości, która musiałaby być inna, jeśli byliśmy zmieniając rozdzielacz pionową.
Mam nadzieję, że to pomoże. Gdy zaczniesz grać z Arkuszami stylu, zabawa zaczyna się naprawdę.
Czy próbowałeś stylizować QSplitter za pomocą arkusza stylów? – Liz
nie .. Nie wiem co to jest ... – Nick