Qt - tworzenie menu i akcji

Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 4306 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