Hi
Habe ein qtabwidget mit mehreren Tabs(mehreren ui's).
Im tab3 verändere ich eine globale Variable (Bitte keine Diskussion bezügl. Verwendung globaler Variablen)
Das Problem: Anscheinend werden beim Aufrufen des tabwidgets alle seine Tabs auch gleich geladen und durch Herumklicken der verschiedenen Tabs mache ich nur das eine oder andere sichtbar.
Im tab3 verändere ich nun eine globale Variable.
tab4 verwendet die globale Variable, bekommt aber nicht mit, dass diese verändert wurde.
Signal-Slot auf eine Variable (Ein Nicht-Objekt) ist - soweit ich es mitbekommen habe - nicht möglich.
Wie kann ich tab4 neu berechnen?
Da mir nichts anderes einfiel: Der Wechsel von tab3 nach tab4 löst ja ein Event aus
und in dem event: ui->tabWidget_3->currentWidget()->Neuberechnen????
LG
Chri
tab eines qtabwidget neu berechnen
tab eines qtabwidget neu berechnen
Die Sprache des Technikers ist die Skizze
Re: tab eines qtabwidget neu berechnen
QTabWidget hat ein Signal currentChanged(int index). Das könntest du benutzen um festzustellen, das du auf den tab4 wechselst.
Und wenn du auf den Tab wechselst setzt du die globale Variable selbst neu.
Im Prinzip:
MfG
Hilefoks
Und wenn du auf den Tab wechselst setzt du die globale Variable selbst neu.
Im Prinzip:
Code: Alles auswählen
connect(ui->tabWidget, &QTabWidget::currentChanged, [this](int index) {
if(index == ui->tabWidget->indexOf(ui->tab4)) {
ui->tab4->lineEdit->setText(meine_globale_variable);
}
});
Hilefoks
Re: tab eines qtabwidget neu berechnen
Danke
Hab noch Folgendes geändert:
In tab4 fast Alles, was nach dem ui->setupUi(this) kommt, in eine public Funktion "tabelleStern" gepackt.
Somit ist auch das Auslesen und die Verarbeitung der globalen Variablen in dieser Funktion
Dadurch wird tab4 jedesmal neu berechnet, incl. aktueller globaler Variable
LG
Chri
Hab noch Folgendes geändert:
In tab4 fast Alles, was nach dem ui->setupUi(this) kommt, in eine public Funktion "tabelleStern" gepackt.
Somit ist auch das Auslesen und die Verarbeitung der globalen Variablen in dieser Funktion
Code: Alles auswählen
connect(ui->tabWidget, &QTabWidget::currentChanged, [this](int index) {
if(index == ui->tabWidget->indexOf(ui->tab4)) {
ui->tab4->tabellestern();
}
});
LG
Chri
Die Sprache des Technikers ist die Skizze
Re: tab eines qtabwidget neu berechnen
Habe noch ähnliche Frage:
Wie kann ich von einem tab auf das andere tab zugreifen?
Habe in tab4 die Function tabellestern() von zuvor
und möchte diese nun auch von tab3 aus auslösen:
LG
chri
Wie kann ich von einem tab auf das andere tab zugreifen?
Habe in tab4 die Function tabellestern() von zuvor
und möchte diese nun auch von tab3 aus auslösen:
Code: Alles auswählen
connect(ui->rB_WWmHZG, SIGNAL(pressed()), ??????? , SLOT(tabellestern()));
chri
Die Sprache des Technikers ist die Skizze