I have a QDialog which I open like this:
void MyModule::openDialog() {
this->dialog->open();
printf("Hello World");
}
The dialog opens just fine, but unfortunately "Hello World" isn't printed when calling openDialog() - even after closing the dialog. However, when I open another completely unrelated file dialog afterwards, the message is printed out.
What is causing the dialog to block until another dialog is opened? The same thing happens when I'm using this->dialog->exec();
or this->dialog->show();
.
It might be worth noting that MyModule::openDialog()
is a slot which is connected to the click-event of a button.
Any ideas?
It depends on the OS but generally printf() doesn't play nicely with GUIs.
On windows for instance nothing would appear, on unix you could do fprintf(stdout, ) and then fflush(stdout) or fprintf(stderr, ) which isn't buffered
If this is just a debug function, take a look at qDebug() - it's what it's there for.