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

QT wyświetlenie "nowego" okna

VPS Starter Arubacloud
+1 głos
1,033 wizyt
pytanie zadane 9 grudnia 2016 w C i C++ przez Yashe Dyskutant (7,720 p.)

Witam serdecznie.

Dzisiaj zacząłem prace w programie QT Creator, muszę przyznać, że pozytywnie mnie zaskoczył - co zaowocowało pomysłami na jakieś małe projekty. 

Poniżej opisałem w punktach co jest mi potrzebne, gdyż muszę przyznać, że nie za bardzo wiem jak się z tym uporać.

Od razu zaznaczam, że chodzi mi o przełączenie jednego "okna" na drugie, a nie tworzenie osobnego drugiego okna.


Opis problemu:

-> Uruchamiam główne okno aplikacji , które zawiera przyciski np. Start, Opcje

-> Klikam przycisk "Opcje"

-> Widok zostaje przełączony na różne opcje do wyboru (wtedy nie widać przycisków Start i Opcje, dopóki ktoś nie wciśnie klawiszu np. Powrót do Menu)

Gdyby coś było nie jasne, postaram się wytłumaczyć lepiej.

2 odpowiedzi

+2 głosów
odpowiedź 9 grudnia 2016 przez Moranthil Obywatel (1,080 p.)
wybrane 9 grudnia 2016 przez Yashe
 
Najlepsza

Jeżeli dobrze zrozumiałem to potrzebujesz kontener o nazwie Stacked Widget. Potem rzucasz na niego przycisk, zmieniasz ikoną strzałki na następną stronę Stacked Widget'a tam rzucasz drugi przycisk. Tworzysz sloty kliknięcia i wpisujesz coś takiego:

ui->stackedWidget->setCurrentWidget(ui->page_2);
//lub
ui->stackedWidget->setCurrentIndex(1);

Dla drugiego przycisku analogicznie zmieniając nazwę lub liczbę.

 

komentarz 9 grudnia 2016 przez Yashe Dyskutant (7,720 p.)
Ok. Znalazłem StackedWitget i umieściłem go w interfejsie użytkownika, lecz jak uwarunkować zmianę stron.

Chodzi mi o coś takiego:

Po kliknięciu "Opcje" zmień stronę StackedWidget na drugą.
komentarz 9 grudnia 2016 przez Moranthil Obywatel (1,080 p.)
Zmiany strony Stacked Widget dokonujesz za pomocą jednej z powyższych linijek kodu.

Do przycisku "Opcje" stwórz slot reagujący na kliknięcie przycisku (zakładam, że wiesz jak) i wklej jedną z linijek kodu, które podałem. Tylko tyle.
komentarz 9 grudnia 2016 przez Yashe Dyskutant (7,720 p.)

Ehh.. mały problem. Musze sprostować kilka spraw. 

1. Czy przycisk "Opcje" mam umieścić w stackedWidget
2. Czy void ma być stricte dla przycisku "Opcje" - który reaguje na kliknięcie, czy mam utworzyć void dla stackedWidget'u - lecz tam nie ma opcji "on click"
3. Zauważyłem, że mogę użyć tego - currentChanged() 
4. Gdy użyłem Twojej linijki kodu wpisanej w slocie reagującym na kliknięcie "Opcje" wyskoczył błąd kompilacji - class Ui::MainWindow has no member named stackedWidget
 

komentarz 9 grudnia 2016 przez Moranthil Obywatel (1,080 p.)
  1. Przycisk umieszczasz gdziekolwiek - może być w stackedWidget lub poza. Nie ma to znaczenia.
  2. Slot robisz dla przycisku - tzn. klikasz prawym na przycisk, opcja przejdź do slotu i wybierasz sygnał clicked(). 
  3. ?
  4. Pewnie masz inne nazwy kontrolek.
void MainWindow::on_pushButton_clicked()
{
    if(ui->stackedWidget->currentIndex() == 1)
        ui->stackedWidget->setCurrentWidget(ui->page);
    else if(ui->stackedWidget->currentIndex() == 0)
        ui->stackedWidget->setCurrentWidget(ui->page_2);
}

^Tak wygląda przykładowy kod przycisku będącego poza stackedWidget, który zmienia stronę na drugą i odwrotnie. Nie zmieniałem nazw, tylko zostawiłem domyślne jak mi ide utworzyło.

 

komentarz 9 grudnia 2016 przez Yashe Dyskutant (7,720 p.)
Super, wszystko śmiga tak jak powinno.

Dziękuje i pozdrawiam !
0 głosów
odpowiedź 18 czerwca 2017 przez niezalogowany
Ktoś wie jak to zrobić z poziomu kodu?

Podobne pytania

+1 głos
1 odpowiedź 793 wizyt
pytanie zadane 28 grudnia 2016 w Java przez niko64 Użytkownik (630 p.)
0 głosów
1 odpowiedź 146 wizyt
pytanie zadane 28 lipca 2018 w Java przez Kabuuz Bywalec (2,820 p.)
0 głosów
1 odpowiedź 1,079 wizyt
pytanie zadane 22 lipca 2017 w HTML i CSS przez Vorex444 Dyskutant (9,610 p.)

92,958 zapytań

141,919 odpowiedzi

321,149 komentarzy

62,288 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.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...