GUI Elemente vererben
Verfasst: 11. Oktober 2010 14:19
Hallo,
ich weiß nicht recht, ob die Überschrift erkennen lässt, was ich vorhabe oder nicht...
Also ich habe mit Qt Designer eine kleine Oberfläche erstellt.
Dazu habe ich eine Klasse RXControl, in welcher dann auch die ganzen Slots definiert sind, dieich zu beginn mit den Buttons verbinde.
RXControl wird im header so definiert:
in der *.cpp steht dann:
Jetzt habe ich einen slot in dem alle LineEdits gefüllt werden, die die GUI so hat... die werte werden auf einer struct gelesen. Das klappt auch alles wunderbar..
Da dieser slot aber sehr lang und groß ist, wollte ich das was er macht der Übersicht halber gern in eine neue Funktion auslagern. Das Problem dabei ist, dass die neue Klasse die LineEdits auch kennen muss...
Also hab ich ein bisschen rumprobiert und mir eine Klasse Settings erstellt:
und dann wieder wie oben:
Leider passiert jetzt gar nix...
Deshalb hier meine Fragen:
1. Funktioniert das überhaupt was ich vorhabe? Kann man auch von anderen Funktionen auf GUI elemente zugreifen?
2. Wenn ja, wo habe ich den Denkfehler? Hab schon überlegt, ob das an dem QWidget parent liegt. muss ich der Klasse Settings das parent vom RXControl übergeben? Ich schätze mal bis jetzt wird in der klasse Sessions das Widget komplett neu erzeugt... weshalb ich auch nix auf meiner richtigen gui sehe...
Ach ich weiß einfach nicht weiter...
Vergebt mir meine QT Unkenntnis... ich probier halt ein bisschen rum und hab bei RXControl mehr oder weniger eine Vorlage als Gerüst genommen... und nun stoß ich an die Grenzen meines Könnens
Danke für eventuelle Ratschläge,
Grüße,
Franz
ich weiß nicht recht, ob die Überschrift erkennen lässt, was ich vorhabe oder nicht...
Also ich habe mit Qt Designer eine kleine Oberfläche erstellt.
Dazu habe ich eine Klasse RXControl, in welcher dann auch die ganzen Slots definiert sind, dieich zu beginn mit den Buttons verbinde.
RXControl wird im header so definiert:
Code: Alles auswählen
class RXControl : public QDialo, public Ui::RXControl
{
Q_OBJECT
public: RXControl(QWidget *parent = 0)
private: blablabla
private slots: hier die slots
};
Code: Alles auswählen
RXControl::RXControl(QWidget *parent) : QDialog(parent)
{
setupUi(this);
dann komment die ganzen connects
}
hier folgen dann die solts
Da dieser slot aber sehr lang und groß ist, wollte ich das was er macht der Übersicht halber gern in eine neue Funktion auslagern. Das Problem dabei ist, dass die neue Klasse die LineEdits auch kennen muss...
Also hab ich ein bisschen rumprobiert und mir eine Klasse Settings erstellt:
Code: Alles auswählen
class Settings : public QDialog, public Ui::RXControl
{
Q_OBJECT
public: Settings(QWidget *parent = 0);
};
Code: Alles auswählen
Settings::Settings(QWidget *parent) : QDialog(parent)
{
setupUi(this)
}
und jetzt die Funktion:
void Settings::setSettings(struct RX_data *RX)
{
lineEdit_1->setText(RX-Qdata1);
... usw
}
Deshalb hier meine Fragen:
1. Funktioniert das überhaupt was ich vorhabe? Kann man auch von anderen Funktionen auf GUI elemente zugreifen?
2. Wenn ja, wo habe ich den Denkfehler? Hab schon überlegt, ob das an dem QWidget parent liegt. muss ich der Klasse Settings das parent vom RXControl übergeben? Ich schätze mal bis jetzt wird in der klasse Sessions das Widget komplett neu erzeugt... weshalb ich auch nix auf meiner richtigen gui sehe...
Ach ich weiß einfach nicht weiter...
Vergebt mir meine QT Unkenntnis... ich probier halt ein bisschen rum und hab bei RXControl mehr oder weniger eine Vorlage als Gerüst genommen... und nun stoß ich an die Grenzen meines Könnens
Danke für eventuelle Ratschläge,
Grüße,
Franz