-
Data: 2012-02-29 09:24:27
Temat: Re: Qt: Szerokość splittera
Od: Przemysław Adam Śmiejek <n...@s...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 29.02.2012 09:45, Tomasz D pisze:
> W dniu środa, 29 lutego 2012, 08:31:28 UTC+1 użytkownik Przemysław Adam Śmiejek
napisał:
>> Witam,
>>
>> zachciało mi się ostatnio pouczyć trochę Qt. I tak na początek
>> chciałem sobie zrobić w oknie dwa elementy oddzielone splitterem do
>> przesuwania ich szerokości. Zrobiłem to tak:
>>
>>
>> QSplitter *splitterPoziomy = new QSplitter(widget);
>> splitterPoziomy->addWidget( etykieta1 );
>> splitterPoziomy->addWidget( etykieta2 );
>> splitterPoziomy->setOrientation(Qt::Vertical);
>>
>> i wszystko działa, tylko szerokość tych elementów na starcie jest
>> JakaśTam. A chciałbym określić osobiście, że część 1 ma być np. 200px, a
>> część 2 pozostałą szerokość. Czy ktoś mógłby mi podpowiedzieć, jak to
>> zrobić? Nie umiem się dopatrzeć żadnej właściwości QSplittera, która by
>> to regulowała.
>>
>
> Jedna opcja to taka, żeby ograniczyć maksymalny rozmiar jednego z widgetów i
ustawić mu size policy.
Ale nie chcę ograniczać rozmiaru, tylko chcę, żeby na starcie było np.
100px | reszta
a jak user zechce sobie rozciągać na więcej, to OK. Chodzi o to, żeby
ustawić na starcie położenie splittera (docelowo będzie wczytywane jako
konfiguracja). Tak jak w Thunderbirdzie np. po lewej drzewko wąskie, po
prawej wiadomości szerokie. I drzewko da się splitterem powiększać, ale
po uruchomieniu ma wąskie i już.
> Ewentualnie możesz proporcjonalnie podzielić sekcje splittera:
> sp->setStretchFactor(0, 1);
> sp->setStretchFactor(1, 5);
> Po tym wywołaniu proporcje lewego do prawego będą 1:5
Hm... Wpisałem i dla pionowego zero różnicy. Nadal mam podział pół na pół.
A dla poziomego to w ogóle zniknęła mi gdzieś dolna część. Pełny kod mam
taki:
personFinder = new QLineEdit;
QVBoxLayout *personLayout = new QVBoxLayout;
personLayout->addWidget(personFinder);
personLayout->addWidget(editText2);
QWidget *widgetLeft = new QWidget;
widgetLeft->setLayout( personLayout );
// splitery
QSplitter *splitterPoziomy = new QSplitter(widget);
splitterPoziomy->addWidget( etykieta1 );
splitterPoziomy->addWidget( etykieta2 );
splitterPoziomy->setOrientation(Qt::Vertical);
splitterPoziomy->setStretchFactor(0, 1);
splitterPoziomy->setStretchFactor(1, 5);
QSplitter *splitterPionowy = new QSplitter(widget);
splitterPionowy->addWidget( widgetLeft );
splitterPionowy->addWidget( splitterPoziomy );
Ma z tego powstać aplikacja o wyglądzie takim: po lewej wąska lista
osób, nad tą listą edytorek do wyszukiwania osób. Po kliknięciu na osobę
pojawia się po prawej lista zdarzeń dla tej osoby (coś ala lista mejli w
thunderbirdzie), a po kliknięciu na zdarzenie, pod spodem treść opisu
zdarzenia.
--
Przemysław Adam Śmiejek
Niech żadne nieprzyzwoite słowo nie wychodzi z ust waszych,
ale tylko dobre, które może budować, gdy zajdzie potrzeba,
aby przyniosło błogosławieństwo tym, którzy go słuchają. (Ef 4,29)
Następne wpisy z tego wątku
- 29.02.12 09:36 Tomasz D
- 29.02.12 09:54 Przemysław Adam Śmiejek
- 29.02.12 11:10 GAD Zombie
- 29.02.12 11:39 Przemysław Adam Śmiejek
- 01.03.12 00:29 PawelS
- 01.03.12 07:15 szyk
- 01.03.12 16:47 PawelS
- 02.03.12 10:51 Przemysław Adam Śmiejek
Najnowsze wątki z tej grupy
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
Najnowsze wątki
- 2025-05-06 "Unia Europejska poważnie myśli o wprowadzeniu całkowitego zakaz importu gazu
- 2025-05-05 Jak naładować akumulator iRobot DC 14,4V 3300 mAh zasilaczem ?
- 2025-05-05 Kopanie Bitcoinów kosztuje 137.000 $, więcej niż cena 95.000 $
- 2025-05-05 Kraków => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu
- 2025-05-05 Kraków => Production Coordinator / Representant Product Dev <=
- 2025-05-05 Gdynia => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-05-05 Gdańsk => Senior Node.js Developer (doświadczenie z framework Nest.j
- 2025-05-05 Salwador
- 2025-05-05 Gdańsk => Controlling systems Consultant <=
- 2025-05-05 Czeladź => Key Account Manager IT <=
- 2025-05-05 Zielona Góra => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, P
- 2025-05-05 Gdańsk => Senior Node.js Developer (Nest.js framework) <=
- 2025-05-05 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-05-05 Kraków => NMS System Administrator <=
- 2025-05-05 Gliwice => Business Development Manager - Network and Network Security