Qt - kontrolka QSpinBox i zmiana rozmiaru czcionki w kontrolce QTextEdit
Stronę tą wyświetlono już: 2289 razy
Klasa QSpinBox odpowiedzialna jest za utworzenie kontrolki QSinBox, która umożliwia wprowadzanie wartości całkowitych z ustalonego przez programistę przedziału. Kontrolka ta posiada również dwa przyciski przewijania. Nadaje się więc ona do ustawiania wartości liczbowych całkowitych i z tego względu postanowiłem nieco rozbudować kod z poprzedniej strony Programowanie → Qt Creator GUI → Qt - kontrolka QTextEdit dodając możliwość zmiany rozmiaru czcionki. W tym celu konieczne jest załączenie pliku nagłówkowego QSpinBox w pliku mainwindow.h oraz dodanie do klasy MainWindow następującego pola:
- QSpinBox *fontSize;
W konstruktorze klasy MainWindow warto utworzyć i odpowiednio zainicjalizować obiekt klasy QSpinBox co też i z najdzikszą rozkoszą czynię:
- fontSize = new QSpinBox();
- ui->mainToolBar->addWidget(fontSize); // podpinanie kontrolki pod pasek narzędziowy
- fontSize->setMinimum(6); // ustawiam minimalną wartość możliwą do wpisania
- fontSize->setMaximum(48); // ustawiam maksymalną wartość możliwą do wpisania
- fontSize->setValue(8); // ustawiam początkowy rozmiar czcionki
- QObject::connect(fontSize, SIGNAL(valueChanged(int)), this, SLOT(onFontSizeChanged(int))); // podłączam się pod sygnał valueChanged kontrolki QSpinBox
Jak widać w załączonym powyżej kodzie konieczne jest utworzenie slotu onFontSizeChanged(int) co również z najdzikszą rozkoszą czynię:
- void MainWindow::onFontSizeChanged(int index){
- ui->edit->setFontPointSize(qreal(index)); // ustawiam rozmiar czcionki w kontrolce QTextEdit
- }
Ostatnia rzecz, jaką trzeba zrobić to lekko zmodyfikować wcześniej utworzoną metodę setTextStyleButtonsState dodając następujący kod:
- int size = ui->edit->fontPointSize(); // pobieram rozmiar czcionki
- fontSize->setValue(size ? size : 8); // jak nie jest równy 0 to go ustawia a jak jest to ustawiam domyślną wartość 8


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

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ł:
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ł:
Tablice informatyczne. Podstawy C++
Autor:
Radosław Sokół

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

Tytuł:
OpenCV 3. Komputerowe rozpoznawanie obrazu w C++ przy użyciu biblioteki OpenCV
Autor:
Adrian Kaehler, Gary Bradski

Tytuł:
C++ w 24 godziny. Wydanie VI
Autor:
Rogers Cadenhead, Jesse Liberty

Tytuł:
C++ Optymalizacja kodu. Sprawdzone techniki zwiększania wydajności
Autor:
Guntheroth Kurt