Anthus napisał(a)
Podstawy OOP znam ale ...
Pokazuje się okno, uzytkownik wpisuje dane, i problem w tym, jak przekazać te dane do obiektu w klasie MainWindow?
Cóż,to pokazuje Bracie,że jednak tak nie do końca znasz :P
Anyway,odnośnie Twojego pytania,jest na to na przykład taki sposób:
1.Delkarujesz w dialogu przyjaźń z klasą okna które będzie go tworzyło i pokazywało
2.Kiedy użytkownik kliknie w ok pobierasz dane z Ui dialogu.Ja stosuję taką konstrukcję:
MyDialog *d=new MyDialog(this);//this niekonieczny
d->setWidgetAttribute(Qt::WA_DeleteOnClose);//to spowoduje automatyczne delete na dialogu po jego zamknięciu
if(d->exec()==QDialog::Accepted)//user kliknął OK,Tak czy coś podobnego
{
//tu się dzieje co ma się dziać na kliknięcie ok,u Ciebie to będzie coś w stylu:
//(zakładając,że okno dialogu zbudowałeś w designerze jak Swaróg przykazał i masz plik Ui)
//jak nie masz,to z poniższych instrukcji wyrzuć frazę ui.
d->ui.label1->text();
d->ui.comboBox1->itemText(0);
itd...
return;
}
//a tutaj coś to się dzieje po wciśnięciu czegokolwiek innego niż ok
Z poziomu designera tworzysz 2 guziki-Ok i Cancel,po czym przełączasz tryb designera na połączenia sygnał slot i łączysz Ok(clicked) z YourDialog(accept) a Cancel(clicked) z YourDialog(reject)