Qt - kontrolka QSlider i QProgressBar

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

Kontrolka QSlider jest suwakiem, który umożliwia zmianę wartości jakiegoś parametru programu poprzez jego przesunięcie. Kontrolka ta poprzez odpowiednie ustawienie flagi występuje w formie poziomego lub pionowego suwaka. Innym rodzajem kontrolki jest QProgressBar, który przeznaczony jest do wyświetlania informacji dotyczących jakiejś wartości. Najczęściej jest to procentowa wartość np. postępu instalacji, pobierania pliku czy postępu realizowanego procesu wymagającego dłuższego czasu pracy programu.

W celu pokazania działania tych kontrolek utworzyłem interfejs graficzny z trzema następującymi kontrolkami:

  • QSpinBox - której wartość maksymalną zmieniam z 99 na 100;
  • QSlider - której wartość maksymalną zmieniam z 99 na 100;
  • QProgressBar - której wyświetlaną wartość zmieniam z 24 na 0;

Poniżej zamieszczam rysunek z takim projekcikiem.

Przykładowy prosty projekt umożliwiający pokazanie zasady działania kontrolek QSlider i QProgressBar
Rys. 1
Przykładowy prosty projekt umożliwiający pokazanie zasady działania kontrolek QSlider i QProgressBar

Dla odmiany w tym przypadku użyję trybu graficznego do podpięcia odpowiednich sygnałów kontrolki QSlider oraz QSpinBox z pozostałymi kontrolkami. W tym celu należy w trybie graficznym należy niezwłocznie kliknąć przycisk przycisk trybu graficznego łączenia sygnałów i slotów w Qt Clreatorze znajdujący się na górze paska narzędziowego. W tym trybie wystarczy kliknąć i przytrzymać prawy przycisk myszy na kontrolce QSpinBox przeciągnąć kursor myszy na kontrolkę QSlider, aby po chwili pojawiło się okno dialogowe Skonfiguruj połączenie (tak jak pokazane zostało to na poniższym rysunku).

Qt Creator - okno Skonfiguruj połączenie
Rys. 2
Qt Creator - okno Skonfiguruj połączenie

Po wybraniu sygnału valueChanged z kontrolki QSpinBox i slotu setValue z kontrolki QSlider należy zatwierdzić połączenie co spowoduje, że po skompilowaniu każda zmiana wartości w kontrolce QSpinBox zmieni wartość wyświetlaną w kontrolce QSlider. W analogiczny sposób należy podłączyć wszystkie kontrolki.

Qt Creator - przykładowy widok utworzenia połączenia sygnału kontrolki QSpinBox z slotem kontrolki QSlider
Rys. 3
Qt Creator - przykładowy widok utworzenia połączenia sygnału kontrolki QSpinBox z slotem kontrolki QSlider
Strony powiązane
strony powiązane
  1. doc.qt.io/qt-5/qslider.html - opis klasy QSlider na stronie dokumentacji Qt
  2. doc.qt.io/qt-5/qprogressbar.html - opis klasy QPorgressBar na stronie dokumentacji Qt

Komentarze