Witam
Jestem Javo-wcem. Ostatnio przerzuciłem sie na C# i mam problem z Layoutami(a raczej ich brakiem w .NET ). Chcę zrobić formularz z jednej strony mam Labele a z drugiej TextBoxy, aby po rozszerzeniu ekranu rozszerzaly sie i one. Niestety dostępne Layouty sa lekko powiedziawszy ( do du** ). Macie może jakieś dobre poradniki jak to zrobic ?
Co to są Layouty?
Nie można sobie Anchor/Dock dla kontrolek ustawiać?
No właśnie niezbyt, w cywilizowanych systemach GUI to managery odpowiadają za rozmiary, właściwości związane z pozycją etc. Porównaj chociażby Qt i WinForms... Też mnie cholera bierze jak coś w WinForms mam zrobić, 10x tyle zabawy żeby GUI poskładać co w Qt.
Więc może pora na WPFa, jeśli ktoś sobie może pozwolić. Tam już jest o wiele wygodniej
deus. napisał(a)
No właśnie niezbyt, w cywilizowanych systemach GUI to managery odpowiadają za rozmiary, właściwości związane z pozycją etc. Porównaj chociażby Qt i WinForms... Też mnie cholera bierze jak coś w WinForms mam zrobić, 10x tyle zabawy żeby GUI poskładać co w Qt.
Hmm...
Nie bardzo rozumiem - JA projektuję interfejs, więc to JA decyduję czy przyciski mają być po lewej, a pola tekstowe się rozszerzać. Qt wie lepiej co chce zrobić programista? :|
@somekind, używałeś kiedyś layoutów? Ja też lubię decydować po której stronie są przyciski i jaki jest rozmiar pól tekstowych. I nie wyobrażam sobie tworzenia GUI bez użycia menadżera rozkładu (pomijam zabawki typu 40 przycisków rozmieszczonych spiralnie).
Hmm...
Nie bardzo rozumiem - JA projektuję interfejs, więc to JA decyduję czy przyciski mają być po lewej, a pola tekstowe się rozszerzać. Qt wie lepiej co chce zrobić programista?
Taaaa..... a pozniej TY uzywasz tego programu a nie Twoi klienci. Co to za myślenie w ogole ?
bo napisał(a)
@somekind, używałeś kiedyś layoutów? Ja też lubię decydować po której stronie są przyciski i jaki jest rozmiar pól tekstowych. I nie wyobrażam sobie tworzenia GUI bez użycia menadżera rozkładu (pomijam zabawki typu 40 przycisków rozmieszczonych spiralnie).
Wpisałem sobie "qt layout" w Google, i z tego co widzę, to za bardzo od TableLayoutPanel i FlowLayoutPanel się nie różni. Mają one sporo możliwości konfiguracyjnych, trzeba się pobawić i ogarnąć. Wszystko wymaga nauki.
gosc napisał(a)
Taaaa..... a pozniej TY uzywasz tego programu a nie Twoi klienci. Co to za myślenie w ogole ?
Moi klienci używają programu, w którym interfejs zaprojektowałem według ich zachcianek. A niby jak powinno być?
Tja, tylko layouty służą właśnie tworzeniu GUI zgodnego z moją wizją, odpowiadają za grupowanie i odpowiednie rozmieszczanie klamotów wedle moich zaleceń. WinForms takich możliwości zwyczajnie nie ma - w Qt wrzucam jeden layout, wrzucam w niego kolejne, w nie trochę klamotów i otrzymuję samowystarczalne GUI, które jest w 100% zgodne z moją koncepcją i samo dba o wszystko. Poza tym Qt potrafi dopasować rozmiar GUI do stringów - obsługa różnych wersji językowych, klamoty .NET już średnio.
Sorry, ale poprzez Anchor, Dock i te niby layouty z WinForms skomplikowanego GUI się zrobić w wygodny sposób nie da. Niestety ale ten lib jest nadal w 1/4 drogi z WINAPI do czegoś nowoczesnego i wygodnego tak dla użytkownika jak programisty. W pure WINAPI też piękne GUI zrobić potrafię...
Z twoją koncepcją może zgodne, ale co jeśli upierdliwy klient sobie zażyczy "da pan te przyciski trochę w lewo, to przeniesie tu, a tutaj trzeba trochę miejsca zrobić" - i się okaże że w tych "lajołtach" się tak dokładnie zrobić nie da..
Layouty mają zady i walety...
Czego się niby zrobić nie da? Ustawić sztywne marginesy, minimalne rozmiary, wstawić wolną przestrzeń? QSpacer + ew. wklepanie/wklikanie kilku ograniczeń na sztywno... Ludzie, ja naprawdę trochę interaface'ów już z użyciem managerów zrobiłem, da się zrobić wszystko równie precyzyjnie jak tymi waszymi anchorami, dockami etc. tylko szybciej, wygodniej i pewniej.