PDA

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

Fantastic
6.11.2010, 0:37
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

zokocx
9.11.2010, 1:50
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

voodoo_
9.11.2010, 12:01
U drugom slučaju bi trebalo onda dialog->show(), s obzirom da se radi o pokazivaču na objekat.