Qt - tworzenie menu i akcji

Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 4443 razy

Tworzenie menu w Qt Creatorze również odbywa się w widoku projektowania Desing. Wystarczy bowiem kliknąć dwukrotnie na górnej części projektu okna, aby możliwe było wpisanie nazwy pierwszej pozycji menu (tak jak pokazane zostało to na poniższym rysunku).

Tworzenie menu w Qt Creatorze
Rys. 1
Tworzenie menu w Qt Creatorze

Jak widać w łatwy sposób można dodawać tutaj kolejne elementy (jeżeli zachodzi taka potrzeba).

Dodawanie kolejnych pozycji menu w Qt Creatorze
Rys. 2
Dodawanie kolejnych pozycji menu w Qt Creatorze

Każda pozycja menu, która nie ma swojego podmenu ma automatycznie przypisywaną akcję, która pojawi się w Edytorze akcji znajdującym się na dole programu.

Lista akcji widocznych w oknie Edytora akcji
Rys. 3
Lista akcji widocznych w oknie Edytora akcji

Teraz wystarczy na dostępnej na liście akcji actionOpen kliknąć prawym przyciskiem myszy i z menu kontekstowego wybrać pozycję Przejdź do slotu by po chwili ujrzeć okno dialogowe Przejdź do slotu. W oknie tym wybrać można jeden z sygnałów, pod który można się podpiąć. Ja wybrałem trigered (wywołany / wciśnięty).

Widok okna Przejdź do slotu z dostępnymi sygnałami dla wybranej akcji menu
Rys. 4
Widok okna Przejdź do slotu z dostępnymi sygnałami dla wybranej akcji menu

Po zatwierdzeniu wyboru powinien zostać utworzony nowy slot o nazwie on_actionOpen_triggered:

void MainWindow::on_actionOpen_triggered() { }

Wewnątrz tego sygnału można umieścić np. instrukcję zmiany tekstu wyświetlanego w wcześniej już utworzonej kontrolce Label:

void MainWindow::on_actionOpen_triggered() { ui->helloWorld->setText("Open file menu action"); }

Po skompilowaniu u kliknięciu w menu File→Open tekst labela zmieni się na "Open file menu action".

Wszystkie akcje są dostępne z poziomu klasy MainWindow:

ui->actionOpen->setText("Some new text");
Propozycje książek
tytuł: C++  Zbiór zadań z rozwiązaniami autor: Tomasz Jaśniewski

Tytuł:

C++ Zbiór zadań z rozwiązaniami

Autor:

Tomasz Jaśniewski

tytuł: Mikrokontrolery dla hobbystów. Projekty DIY w języku C i C++ autor: Miguel Angel Garcia-Ruiz, Pedro Cesar Santana Mancilla

Tytuł:

Mikrokontrolery dla hobbystów. Projekty DIY w języku C i C++

Autor:

Miguel Angel Garcia-Ruiz, Pedro Cesar Santana Mancilla

tytuł: Architektura oprogramowania bez tajemnic. Wykorzystaj język C++ do tworzenia wydajnych aplikacji i systemów autor: Adrian Ostrowski, Piotr Gaczkowski

Tytuł:

Architektura oprogramowania bez tajemnic. Wykorzystaj język C++ do tworzenia wydajnych aplikacji i systemów

Autor:

Adrian Ostrowski, Piotr Gaczkowski

tytuł: Wprowadzenie do C++ autor: Michał Matlak

Tytuł:

Wprowadzenie do C++

Autor:

Michał Matlak

tytuł: Opus magnum C++ 11. Programowanie w języku C++. Wydanie II poprawione (komplet) autor: Jerzy Grębosz

Tytuł:

Opus magnum C++ 11. Programowanie w języku C++. Wydanie II poprawione (komplet)

Autor:

Jerzy Grębosz

tytuł: Programowanie wieloplatformowe z C++ i wxWidgets 3 autor: Bartosz W. Warzocha

Tytuł:

Programowanie wieloplatformowe z C++ i wxWidgets 3

Autor:

Bartosz W. Warzocha

tytuł: Język C++ i przetwarzanie współbieżne w akcji. Wydanie II autor: Anthony Williams

Tytuł:

Język C++ i przetwarzanie współbieżne w akcji. Wydanie II

Autor:

Anthony Williams

tytuł: C++ dla bystrzaków. Wydanie VII autor: Stephen R. Davis

Tytuł:

C++ dla bystrzaków. Wydanie VII

Autor:

Stephen R. Davis

tytuł: Tablice informatyczne. Podstawy C++ autor: Radosław Sokół

Tytuł:

Tablice informatyczne. Podstawy C++

Autor:

Radosław Sokół

tytuł: Opus magnum C++11. Programowanie w języku C++ (komplet) autor: Jerzy Grębosz

Tytuł:

Opus magnum C++11. Programowanie w języku C++ (komplet)

Autor:

Jerzy Grębosz

W związku z tym, że firma Helion nie wywiązuje się z swoich zobowiązań naliczania prowizji za każdą zakupioną książkę a kontakt z ową frmą jest nie możliwy autor strony zmuszony został do zablokowania linkowania książek. Za wszelkie niedogodności z tym związane z góry przepraszam i obiecuję włączenie linkowania gdy tylko sprawa zostanie wyjaśniona