A gondot az okozza, hogy a QTabWidget::page(int) QWidgetre mutató pointert ad vissza, QWidgetnek meg nincs feszultsegSlider adattagja.
A kérdés tehát az, hogy hogyan lesz a QWidget*-ból MotorTab*.
QWidget* ptr=motorTabWidget->page(2);
//C-s szintaxis: (csak kompatibilitás miatt van)
MotorTab* mt1=(MotorTab*) ptr;
//C++-os:
MotorTab* mt2=static_cast<MotorTab*>(ptr);
// Működik de nem szép, ha valamit eltoltál (pl a QWidget nem ősosztálya a MotorTabnak,
// vagy bármi miatt értelmetlen a konverzió), ez akkor is megcsinálja és
// az adattagra hivatkozásnál látszólag minden rendben, tagfüggvénytől meg elszáll..
//Méginkább C++-os:
MotorTab* mt3=dinamic_cast<MotorTab*>(ptr);
// Ha a konverzió meghiusúl, mt3==0, ezt egyszerű if-fel ellenőrizheted.
Tehát röviden:
motorTab = dynamic_cast<MotorTab*>(motorTabWidget->page(2));
Q_ASSERT(motorTab!=0);
motorTab->feszultsegSlider->setValue(100);
Én szoktam assertezni, biztos ami biztos, ha baj van rögtön kiderül (debug fordításnál), a relese-ből meg egyszerűen kimarad ez az ellenőrzés (tehát nem lassít, nem mintha számítana...).
http://doc.trolltech.com/3.3/qapplication.html#Q_ASSERT
"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o