Mein eigener Slot

Als nächstes Möchte ich  einen Slider einfügen der eine SpinBox sowie einen Progressbalken und umgekehrt steuert.

dazu ziehe ich einen vertikalen Slider eine SpinBox (bei der Spinbox hab ich die Knöpfe entfernt im Eigenschaftenbrowser rechts unter buttonSymbols->noButtons) und einen Progressbar in mein .ui.

Anschließend verknüpfe ich die drei Elemente über Signale und Slots Miteinander  siehe Tabelle man muss nicht ubendingt die roten Fäden ziehen wie zuvor gezeigt mann kann auch einfach bei Signale und Slots die Verbindungen in die Tabelle eintragen.

Nun machen wir noch den Slider Eintrag in unserem Menü ankreuzbar wir wollen über den Menüpunkt die Slider Funktion ein oder ausblenden.

Beim Start sollen sie ausgeblendet sein daher schreiben wir in MainWindow::MainWindow folgendes:

ui->horizontalSlider->hide();
ui->spinBox->hide();

Jetzt klicken wir auf den Aktionseditor auf unseren Eintrag actionSlider mit rechts und sagen slot anzeigen…
wählen hier wieder triggerded() als signal.
Es wird folgender Code automatisch erstellt :
in mainwindow.h wird unter private slots ein Eintrag ertellt

private slots:
void on_actionSlider_triggered();

und im mainwindow.cpp wird ebenfalls ein Eintrag erstellt den wir noch mit Leben füllen:

void MainWindow::on_actionSlider_triggered()
{
    if (ui->actionSlider->isChecked())
      {
        ui->horizontalSlider->show();
        ui->spinBox->show();
      }
      else
      {

        ui->horizontalSlider->hide();
        ui->spinBox->hide();
      }
}

isChecked überprüft ob unser actionSlider ein häckchen hat oder nicht show und hide sind denke ich selbsterklärend.
on_actionSlider_triggered() impliziert bereits das triggern des Menüeintrages man muss also nicht unbedingt immer über connect(bla bla bla…) gehen.

One Response to Mein eigener Slot

  1. Pingback: Platzhalter oder mein Custom Widget « Qt von 0 auf 100

Hinterlasse einen Kommentar