Portál AbcLinuxu, 8. května 2025 22:37

Dotaz: Qt velikost widgetu

23.3.2009 21:40 Petr Mahdalíček
Qt velikost widgetu
Přečteno: 281×
Odpovědět | Admin

ahojte, zacinam s QT, hraju si s layoutovanim, no a chtel bych docilit toho ze vytvorim okno v kterem bude tlacitko roztazene prez cele okno, jak toho nejlip dosahnu? Dival jsem se na ruzne layoutovaci tridy, ale zadna nefungovala podle mych predstav

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

24.3.2009 11:17 T.O.M. | skóre: 22 | blog: T.O.M.'s blog | Ostrava
Rozbalit Rozbalit vše Re: Qt velikost widgetu
Odpovědět | | Sbalit | Link | Blokovat | Admin

V popsanem pripade je grid layout spravnou volbou. Pokud chces, aby se tlacitko natahlo i na vysku, musis zmenit sizePolicy.vSizeType z Fixed na neco jineho. Pohraj se s tim v QtDesigneru...

24.3.2009 11:37 Icek
Rozbalit Rozbalit vše Re: Qt velikost widgetu

V designeru sem se s tim hral, to co popisujes sem objevil, ale to tlacitko se pak roztahne do velikosti gridLayoutu, ale jak potom udelat, aby se gridLayout roztahoval do velikosti okna?

24.3.2009 13:11 T.O.M. | skóre: 22 | blog: T.O.M.'s blog | Ostrava
Rozbalit Rozbalit vše Re: Qt velikost widgetu
Příloha:

Musis oznacit (kliknout na) widget, v kterem chces zarovnavat (tedy primo do dialogoveho okna) a tam vybrat grid layout. Mrkni na prilozeny soubor...

24.3.2009 11:53 ...............23 | skóre: 15 | blog: Various Stuff blog
Rozbalit Rozbalit vše Re: Qt velikost widgetu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ak je tam len to jedno tlačítko tak je úplne jedno aký layout použiješ. Ak to chceš spraviť v designeri, tak proste klikni pravým niekde do okna a daj Lay out -> Lay out vertically, a potom nastav Vertical policy toho tlačítka napríklad na Minimum. Aby bola zabraná celá plocha vrátane okrajov, môžeš ešte vybrať to okno (alebo "central widget", ak je to QMainWindow) a nastaviť layoutLeftMargin, layoutTopMargin atď. na 0.

To isté sa samozrejme dá dosiahnuť bez designera, tým že vytvoríš QVBoxLayout, do ktorého pridáš tie widgety a nastavíš ho oknu pomocou setLayout, a potom spravíš všetky tie ostatné kroky (tlacitko->setSizePolicy a layout->setContentsMargins)
24.3.2009 19:16 Petr Mahdalíček
Rozbalit Rozbalit vše Oukej
Odpovědět | | Sbalit | Link | Blokovat | Admin

Ok, mam to, diky vsem ;-)

24.3.2009 20:17 Petr Mahdalíček
Rozbalit Rozbalit vše Re: Qt velikost widgetu
Odpovědět | | Sbalit | Link | Blokovat | Admin

Tak jeste jeden dotaz, vytvoril jsem si vlastni widget, jak ho muzu pouzit v QtCreatoru?


24.3.2009 23:12 T.O.M. | skóre: 22 | blog: T.O.M.'s blog | Ostrava
Rozbalit Rozbalit vše Re: Qt velikost widgetu

Celkem jednoduse :-)

24.3.2009 23:55 ...............23 | skóre: 15 | blog: Various Stuff blog
Rozbalit Rozbalit vše Re: Qt velikost widgetu
Jj, ale to sa hodí skôr pre "samostatné" widgety, použiteľné vo viacerých projektoch.

Jednoduchší spôsob pre widgety "na jedno použitie" je vložiť widget od ktorého je tvoj custom widget zdedený, dať na ňom pravé tlačítko a "Promote to...", potom napísať meno triedy custom widgetu, Add, Promote, a je to... Má to pár nevýhod, napríklad sa nebudú dať nastaviť custom vlastnosti priamo v designeri, ale zas nie je treba písať plugin do designeru

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.