Qt - tworzenie skrótów klawiaturowych

Autor podstrony: Krzysztof Zajączkowski

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

Każdy poważny program powinien korzystać z skrótów klawiaturowych, toteż i ja z najdzikszą rozkoszą pędzę z świetną wiadomością, że i w Qt można ustawić skróty z wykorzystaniem klasy QShortcut. Oczywiście będę wciąż tutaj bazował na rozpoczętym na stronie Programowanie → Qt Creator GUI → Qt - kontrolka QTextEdit projekcie, do którego niezwłocznie w pliku mainwindow.h dodać należy plik nagłówkowy QShortcut a do klasy MainWindow dodać następujące pola:

QShortcut *shOpen; QShortcut *shSave; QShortcut *shBold; QShortcut *shItalic; QShortcut *shUnderline;

W pliku mainwindow.cpp w konstruktorze klasy MainWindow niezwłocznie należy zainicjalizować powyższe pola klasy:

shOpen = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_O), this, SLOT(on_actionOpen_triggered())); shSave = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_S), this, SLOT(on_actionSave_triggered())); shBold = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_B), this, SLOT(on_actionBold_triggered())); shItalic = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_I), this, SLOT(on_actionItalic_triggered())); shUnderline = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_U), this, SLOT(on_actionUnderline_triggered()));

W powyższym kodzie tworzę obiekt klasy QShortcut przypisując odpowiedni skrót klawiaturowy, wskaźnik do okna otrzymującego sygnał oraz slot tego okna, pod który skrót zostanie podpięty.

W programie konieczne było jeszcze wprowadzenie zmian w poniżej wypisanych metodach klasy MainWindow:

void MainWindow::on_actionBold_triggered() { if(ui->edit->fontWeight() == QFont::Bold){ ui->edit->setFontWeight(QFont::Normal); ui->actionBold->setChecked(false); }else{ ui->edit->setFontWeight(QFont::Bold); ui->actionBold->setChecked(true); } } void MainWindow::on_actionItalic_triggered() { ui->edit->setFontItalic(!ui->edit->fontItalic()); ui->actionItalic->setChecked(ui->edit->fontItalic()); } void MainWindow::on_actionUnderline_triggered() { ui->edit->setFontUnderline(!ui->edit->fontUnderline()); ui->actionUnderline->setChecked(ui->edit->fontUnderline()); }
Strony powiązane
strony powiązane
  1. doc.qt.io/qt-4.8/qshortcut.html - opis klasy QShortcut na stronie dokumentacji Qt
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