Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2016-08-23 11:19:50

  jezoo - Dzięcioł

jezoo
Dzięcioł
Skąd: Z lasu
Zarejestrowany: 2005-09-02

[Qt][SOLVED] Kolorowanie wierszy w QTableView

jak w temacie. Dokładniej chodzi mi oto, że w momencie ładowania danych z QSqlTableModel do QTableView, wiersze "same" kolorowały się :)

z mojej wiedzy wynika, że zapewne należy użyć metody connect() :) tylko jaki sygnał zapodać to już jest gorsza kwestia ;) jeżeli ma ktoś jakiś KONSTRUKTYWNY pomysł to bardzo bym prosił o wsparcie :)

Ostatnio edytowany przez jezoo (2016-09-02 21:22:23)


LRU #480459

Offline

 

#2  2016-08-23 15:19:54

  uzytkownikubunt - Zbanowany

uzytkownikubunt
Zbanowany
Zarejestrowany: 2012-04-25

Re: [Qt][SOLVED] Kolorowanie wierszy w QTableView

3135

Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:43:35)

Offline

 

#3  2016-08-23 21:56:25

  Huk - Smoleńsk BULWA!

Huk
Smoleńsk BULWA!
Zarejestrowany: 2006-11-08

Re: [Qt][SOLVED] Kolorowanie wierszy w QTableView

@jezoo:

Dawno w QT nie siedziałem ale... o ile mnie pamięć nie myli takie coś robi się za pomocą delegatów - poszukaj sobie w przykładach QT "StarDelegate", tam jest pokazane jak stworzyć delegata wyświetlającego "gwiazdki" w kolumnie zamiast liczby  - co prawda z nie tyczy się to QTableView (domyślam się ze o ten widget chodzi bo czegoś takiego jak QTableListView w dokumentacji nie widzę...), ale znając QT, robi się to analogicznie.

Generalnie stawiam że zgodnie z MVC - QSqlTableModel może być dowolny i nic tam nie musisz ruszać, tworzysz tylko delegata odpowiedniego i ustawiasz go w swoim QTableView za pomocą setColumDelegate lub setRowDelegate.

Pozdrawiam.

Offline

 

#4  2016-08-23 22:51:51

  diabolic - Użytkownik

diabolic
Użytkownik
Skąd: okolice Leżajska
Zarejestrowany: 2007-10-08

Re: [Qt][SOLVED] Kolorowanie wierszy w QTableView

Może sprecyzuj co rozumiesz przez "kolorowanie się". Jeśli chcesz żeby co drugi wiersz był innego koloru to masz opcję "alternatingRowColors", a color główny możesz przez stylesheet ustawić ewentualnie, a jeśli coś bardziej złożonego to tak jak Huk pisze najlepiej przez delegaty.


I am the one who chose my path

Offline

 

#5  2016-08-23 23:20:53

  uzytkownikubunt - Zbanowany

uzytkownikubunt
Zbanowany
Zarejestrowany: 2012-04-25

Re: [Qt][SOLVED] Kolorowanie wierszy w QTableView

3136

Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:43:36)

Offline

 

#6  2016-08-24 17:49:50

  Huk - Smoleńsk BULWA!

Huk
Smoleńsk BULWA!
Zarejestrowany: 2006-11-08

Re: [Qt][SOLVED] Kolorowanie wierszy w QTableView

@jezoo:

Dobrze @diabolic napisał - daj znać co chcesz osiągnąć przede wszystkim, bo jak tylko przeplot kolorów to opcja do tego jest. Natomiast jak coś poważniejszego to delegaty.

@uzytkownikubunt:

O ile dobrze rozumiem to proponujesz coś w stylu - w tabeli SQL umieścić kolumnę nazwijmy ją "Metadata" (albo referencję do tabeli o podobnym przeznaczeniu) i tam dać informacje o tym jak poszczególne komórki mają się narysować? Jeśli źle zrozumiałem to mnie popraw...

Powiem tyle że widziałem taki design i dobre to jest niestety tylko w teorii, w praktyce i tak wygląd aplikacji biznesowych dąży do jednego (per platforma oczywiście) - łatwiej tak ludziom działać po prostu i uzyskać pomoc kiedy apka wygląda wszędzie jedakowo - przez co benefity są zwykle na papierze, zaś trudność modyfikacji - w realu.

Przykładowo - w projekcie nad którym obecnie siedzę w pracy, ktoś zrobił coś podobnego - nie tyle dla wyglądu, co dla rozmieszczenia poszczególnych kolumn w tabeli. Miało to na celu kontrolę które kolumny na poszczególnym kliencie (na desktopie inne, na mobilce inne) się wyświetlają a które nie. Z założenia miało być łatwo modyfikowalne i miało się dać wprowadzać zmiany widokowe z poziomu bazy, bez konieczności ingerowania w kod - same zalety... tyle że realia są takie że modyfikacja tego to koszmar, za każdym razem kiedy dochodzi nowa funkcjonalności oparta o to ustrojstwo trzeba się konsultować z ludkami od wersji mobilnej czy chcą to pokazywać czy nie, podczas modyfikacji trzeba patrzeć czy wyłączenie jakiejś kolumny nie rozwali logiki biznesowej... Potrzebujesz dodać kolumnę pomiędzy istniejące A i B? Normalnie no problem, 5 minut roboty - ale tutaj trzeba się konsultować czy komuś coś to nie spieprzy i tracić czas, do tego logika działania mechanizmu pokazywania kolumn była (jak to zwykle bywa zresztą...) "rozwojowa" i z początkowej dość prostej opartej na indeksie numerycznym, z czasem doszły jakieś warunki które rozszyfrować potrafią tylko ich twórcy... - jednym słowem masakra.

Min. dlatego trend jest taki żeby dane były bytem całkiem oddzielnym od widoku - baza wypluwa Ci wynik, a to czy Ty to wyświetlisz jako tabelę, combobox, czy w formie trójwymiarowego sześcianu, bazę powinno kompletnie mącić. Potrzebujesz widok na stronkę? Tworzysz widok HTML, potrzebujesz dla iOS? Tworzysz natywny dla iOS itd. Dane dostajesz te same - Baza nie dba jak widok zostanie wyrenderowany.

Inna sprawa że jeszcze można działać na modelach pośrednich (widokowych) tak jak ma to miejsce w MVVM - wtedy faktycznie można poszaleć i tak jak w ASP.NET udekorować sobie odpowiednimi atrybutami model widokowy - tyle że model widokowy nie ma (a raczej nie powinien) wiele wspólnego z modelem bazodanowym...

Jeżeli chodziło o coś całkiem innego to rozwiń proszę myśl :)

Pozdrawiam.

Offline

 

#7  2016-08-28 11:08:07

  jezoo - Dzięcioł

jezoo
Dzięcioł
Skąd: Z lasu
Zarejestrowany: 2005-09-02

Re: [Qt][SOLVED] Kolorowanie wierszy w QTableView

Dla mojego klienta wygląd jest drugorzędny. Ważne, żeby mógł intuicyjnie ją obsługiwać. Jest to po prostu przerobienie aplikacji webowej którą mu robiłem kilka lat temu na desktopa.

Mnie chodzi o to, że on chce, żeby miał który kontrahent jest usunięty z bazy (właśnie tutaj chodzi mi o tą kolorowankę) czyli coś takiego:

http://intershock.pl/images/qt_tabelka.png

Jeżeli chodzi o QTableListView to ja pomyliłem się w pierwszym poście faktem jest ma być QTableVIew :)

@Huk, stary masz u mnie piwo :D ;) o takie cudo mi właśnie chodziło. zamiast gwizdek zapodam sobie kolor wiersza :)

BTW, @Huk, widzę, że nawet potrafisz czytać myśli autora ;p

Ostatnio edytowany przez jezoo (2016-08-28 11:08:29)


LRU #480459

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)