Prikaži potpunu verziju : QT i QDialog
Fantastic
3.11.2010, 23:10
koristm qt-creator za rad sa qt-jem i nikako da uradim sledece
trazio sam po netu ali nista
imam mainwindow i button
sad sam napravio slot za button i signal clicked
kako da kada se klikne na button da se prikaze qdialog kojeg sam takodje dizajnirao i imam njegove fajlove .h i .cpp
mislio sam da u mainwindow.cpp include-ujem i dialog.h ali sta onda
molim pomoc
evo sad sam umesto qdialog stavio qmainwindow ali opet nista
evo izvornog koda pa vidite
http://www.2shared.com/file/p3dMKx54/Panealat.html
nadam se da mi neko moze pomoci
Pošto vidim da na ovo pitanje nema odgovora, i ako moja praksa sa C++ nije nešto ,ali ipak posedujem fundamentalno znaje.
Malo sam guglao umesto tebe i naisao na moguc odgovor.
http://www.qtcentre.org/threads/34139-QDialog-show%28%29-not-displaying-child
Here comes the good old standard C++ error: Create the layout on the heap, not on the stack. (Use new!)
Realno ne poznajem strukturu qt programa, ali ovako sirovim gledanjem samo .cpp i .h fajlova vidim gde mozda imas potencijalnu gresku.
void MainWindow::on_novDeo_clicked()
{
Dialog dialog;
dialog.show();
}
Ovde ti definises dialog, ali kako mi znanje sluzi treba da ga instanciras na heap-u, plus pogledaj kako napisao konstruktor dialoga trazi ti QWidget *parent, a ko ce mu biti parent pa valjda glavni prozor.
Probaj nesto ovako...
void MainWindow::on_novDeo_clicked()
{
Dialog *dialog = new Dialog(this);
dialog.show();
}
//Posle kad je potrebno pozoves destruktor.
Mozda nekome pomogne, uglavnom neskodi, nadam se :kreza:
Koja je dzungla ovaj Qt , drzim se ja C# i .net-a
U drugom slučaju bi trebalo onda dialog->show(), s obzirom da se radi o pokazivaču na objekat.
vBulletin® v3.8.7, Copyright ©2000-2024, vBulletin Solutions, Inc.