QT Designer - ustawianie kolorów

2011-09-15 19:30
0

Cześć,
mam pewien problem dotyczący QT designera, dokładnie chodzi o ustawianie kolorów poszczególnych przycisków, jak i całej aplikacji.
ustawiłem pewien kolor dla tła aplikacji, konkretnie to kliknąłem na puste pole, i w zmianie stylu arkuszu wklepałem:

color: orange;
background-color: rgb(27, 27, 27);

co dało pomarańczowy kolor tekstu i ciemne tło
jednak ciemne nie zrobiło się tylko tło aplikacji, ale też przycisków, lineeditów itd.
co muszę zrobić aby ustawić inne tło dla np. WSZYSTKICH lineeditów
wiem że mogę klikać na poszczególny element i edytować go oddzielnie, ale w mojej aplikacji znajduje się ok. 100 lineeditów, więc nie będę uzupełniał każdego ręcznie

z góry dzięki za pomoc :)

edytowany 1x, ostatnio: madmike, 2011-09-15 23:24

Pozostało 580 znaków

2011-09-15 19:32
0

Nie określiłeś dokładnie do czego ma być zastosowany ten style sheet-twój zapis oznacza,że dla wszystkich widgetów.Jeśli ma się stosować wyłącznie do lineEditów,to winieneś zapisać go tak:

QLineEdit{
color: orange;
background-color: rgb(27, 27, 27);
}

i zapodać to jako qApp->setStyleSheet() co spowoduje,iż wszystkie lineedity(i klasy dziedziczące po nich też,ale tego na 100% pewien nie jestem bo dawno style sheetów nie używałem) w twojej aplikacji będą miały zapodany ten właśnie styl.


"Sugeruję wyobrazić sobie Słońce widziane z orbity Merkurego, a następnie dupę tej wielkości. W takiej właśnie dupie specjalista ma teksty o wspaniałej atmosferze, pracy pełnej wyzwań i tworzeniu innowacyjnych rozwiązań. Pracuje się po to, żeby zarabiać, a z resztą specjalista sobie poradzi we własnym zakresie, nawet jeśli firma mieści się w okopie na granicy obu Korei."
-somekind,
konkretny człowiek-konkretny przekaz :]
edytowany 2x, ostatnio: MasterBLB, 2011-09-15 19:36

Pozostało 580 znaków

2011-09-15 20:00
0

no dobra to Lineedity będą z tłem ale ja chcę zeby tło całej aplikacji też było inne

To wtedy ustawiasz styl "CSS" dla QMainWindow. W przykładach jest dobry przykład na modyfikowanie wyglądu za pomocą kaskadowych stylów. - Razi91 2011-09-15 20:06

Pozostało 580 znaków

2011-09-15 20:21

Razi dobrze prawi.Generalnie,tworzysz sobie duużego QStringa z wszelkimi ustawieniami:

QString styleString="QLineEdit{
color: orange;
background-color: rgb(27, 27, 27);
}
QMainWIndow{
tu ustawienia dla okien aplikacji
}
QComboBox{
tu ustawienia comboxa
}
QWidget{
A tutaj jakieś mocno generyczne ustawienia dla wszelakich widgetów w twoim programie.Na przykład jak wszystko u ciebie ma mieć niestandardowe tło,to zamiast powtarzać co chwila przy szegółowych sekcjach lepiej zapodaj to przy QWidget
}
"

I jego nastawiasz tak jak napisałem qApp->setStyleSheet(styleString);


"Sugeruję wyobrazić sobie Słońce widziane z orbity Merkurego, a następnie dupę tej wielkości. W takiej właśnie dupie specjalista ma teksty o wspaniałej atmosferze, pracy pełnej wyzwań i tworzeniu innowacyjnych rozwiązań. Pracuje się po to, żeby zarabiać, a z resztą specjalista sobie poradzi we własnym zakresie, nawet jeśli firma mieści się w okopie na granicy obu Korei."
-somekind,
konkretny człowiek-konkretny przekaz :]
edytowany 1x, ostatnio: MasterBLB, 2011-09-15 20:22

Pozostało 580 znaków

2011-09-15 20:48
0

oki dzięki, świetnie wytłumaczone

jednak podczas tworzenia aplikacji zastosowałem buttona który jest nieaktywny (czyli normalnie taki szary) gdy ustawie kolor tła, to button aktywny i nieaktywny jest taki sam, jak mogę ustawić osobne style dla nieaktywnego buttona?

Pozostało 580 znaków

2011-09-15 20:58
0

Cóż,widzę że nie przeczytałeś w Assistancie rodziału "Qt Style Sheets" ;]
Zapodaj tą frazę w assistancie i czytaj uważnie od dechy do dechy.
A odpowiadając na pytanie pokrótce:owszem,jest możliwość użycia tzw pseudostanów widgetów (hovered,mouse entered/leaved,disabled/enabled i sporo innych).Są one opisane dokładnie w Asystencie.

Przy czym taka rada ode mnie-z mojej praktyki wynika,że te arkusze stylów są takie sobie,a to potemu,że w przypadku bardziej skomplikowanych stringów formatujących strasznie siada wydajność programu,a poza tym one tak trochę niepewnie działają-tj raz działa to formatowanie,raz nie(a przynajmniej,takie zachowanie widziałem w wersjach 4.5.0 i 4.6.1,może w 4.7 poprawili)
Dlatego jeśli myślisz o jakimś naprawdę dużym zmienianiu standardowego wyglądu aplikacji,to doradzam raczej użycie QStyle'ów.


"Sugeruję wyobrazić sobie Słońce widziane z orbity Merkurego, a następnie dupę tej wielkości. W takiej właśnie dupie specjalista ma teksty o wspaniałej atmosferze, pracy pełnej wyzwań i tworzeniu innowacyjnych rozwiązań. Pracuje się po to, żeby zarabiać, a z resztą specjalista sobie poradzi we własnym zakresie, nawet jeśli firma mieści się w okopie na granicy obu Korei."
-somekind,
konkretny człowiek-konkretny przekaz :]
edytowany 1x, ostatnio: MasterBLB, 2011-09-15 21:00

Pozostało 580 znaków

2011-09-15 21:09
0

ok, dzięki wielkie za pomoc :)
MasterBLB dostaniesz specjalne podziękowanie w opisie programu za ogólną pomoc z wieloma problemami które zadałem na forum :*
jeszcze raz dzięki

edytowany 1x, ostatnio: PoziomeQ, 2011-09-15 21:10
A to z czymś jeszcze pomogłem?Nie kojarzę...bo rozwiązanie dla wyznaczania wektorów gońca szachowego to chyba dla kogo innego było.No nic,cieszę się iże me rady okazują się być użyteczne. - MasterBLB 2011-09-15 22:33
o szachy to nie u mnie :P ale ogólnie zawsze gdy miałem problem z Qt to najpomocniejsze były twoje posty :] - PoziomeQ 2011-09-16 13:38

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0