• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[QT]Jak wyświetlić formę wewnątrz innej formy?

Object Storage Arubacloud
0 głosów
315 wizyt
pytanie zadane 2 czerwca 2015 w C i C++ przez slawekh666 Początkujący (410 p.)

Chcę wyświetlić formę qwidget wewnatrz innej formy Qwidget, coś w stylu:

    QQuickView *view = new QQuickView();
    QWidget *container = QWidget::createWindowContainer(view, this);
    container->setFocusPolicy(Qt::TabFocus);
    view->setSource(QUrl("main.qml"));
    ui->verticalLayout->addWidget(container);

gdzieś kiedyś czytałem o tym ale nie mogę teraz tego znaleźć. Czego użyć do wyświetlenia ui w ui?

A najlepiej zamiast qwidget jakąś formę w stylu "User Controls" z C#?

6 odpowiedzi

0 głosów
odpowiedź 4 czerwca 2015 przez Bondrusiek Maniak (61,410 p.)
wybrane 6 lipca 2015 przez slawekh666
 
Najlepsza

Tu raz odpowiadałem na podobne pytanie :

https://forum.pasja-informatyki.pl/16347/qt-okno-dialog-dodanie-widgetow

Nie wiem czy dobrze Cię rozumiem ale może to rozwiąże problem:

Dodajesz do głównego projektu jakiś dodatkowy widget np. z następującymi plikami: plik.h, plik.cpp , plik.ui.

Inicjujesz klase z pliku.h w głównej klasie programu np:

private :

klasa_z_pliku_h *abc;

Teraz w jakiejś metodzie bądź slocie klasy głównej definiujesz:

abc = new klasa_z_pliku_h (this);// dzięki tej deklaracji przypisujesz widżetowi rodzica

abc->exec();//wyświetla widget w innym widgecie

komentarz 8 czerwca 2015 przez slawekh666 Początkujący (410 p.)
dzieki, własnie o cos takiego mi chodziło
+1 głos
odpowiedź 2 czerwca 2015 przez niezalogowany

Qt doc - w linku "Creating child widgets" prawdopodobnie znajdzie to czego szukasz. Ale ogarnij cały tutek - krótki jest.

0 głosów
odpowiedź 2 czerwca 2015 przez niezalogowany
http://www.youtube.com/watch?v=wUH_gu2HdQE Proszę, mam nadzieję że pomoże ;) PS: ten gościu ma najlepsze videotutoriale, jeśli chodzi o Qt.
0 głosów
odpowiedź 2 czerwca 2015 przez slawekh666 Początkujący (410 p.)
Nie dokońca o to mi chodzi. Chcę wyświetlić widget.ui w innym widget.ui/mainwidow.ui w np layout w ten sam sposób jak przykładowy kod z qml. Albo inaczej:

1. tworzę trzy formatki glowne.ui,  zawartosc1.ui, zawartosc2.ui

2. w glownym.ui tworzę np layout i dwa przyciski, którymi bede zmieniał zawartość layout,

3. i ta: uruchamiam app, wciskam przycisk1 i w layaut wyswietla sie zawartosc1.ui

4. wciskam przycisk2 zawartość layout jest czyszczona, a następnie wyświetlana zawartosc2.ui.

Można to zrobić ukrywaląc obiekty i pokazująć w odpowiednim momęcie, ale jest ich za dużo i zrobi się straszny bałagan na formatce.

I dzięki za odpowiedzi, pewnie też coś ciekawego znajdę w dokumentacjach, filmikach.
0 głosów
odpowiedź 2 czerwca 2015 przez niezalogowany

Ah w takim razie zaszło małe nieporozumienie. W tej sytuacji zrób jedną formatkę, a w niej dwa kontenery. Jeden będzie przechowywał dwa buttony, a drugi kontener będziesz pokazywał/ukrywał. 

Zamiast chować każdą kontrolkę po kolei, ukrywasz tylko kontener, w którym te kontrolki się znajdują.

0 głosów
odpowiedź 2 czerwca 2015 przez slawekh666 Początkujący (410 p.)
Z kontemerem to już jakieś lepsze rozwiązanie, nie pomyślałem o tym, dzięki.

Tylko wolałbym wyświetlać gotowe formatki, w appce bedzie masę kontroleki i nie chciałbym zeby były wszystkie w jednym miejscu. Pisze ją z doskoku gdy mam trochę wolnego czasu. Jak zrobie dłuższą przerwe to nawet z komentarzami bedzie problem dojść co do czego.

Podobne pytania

0 głosów
1 odpowiedź 225 wizyt
pytanie zadane 26 listopada 2022 w Systemy operacyjne, programy przez Dzieciak :) Początkujący (440 p.)
0 głosów
1 odpowiedź 316 wizyt
0 głosów
0 odpowiedzi 133 wizyt

92,699 zapytań

141,614 odpowiedzi

320,146 komentarzy

62,058 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...