Pregunta

I have been searching for a simple way to embed QDialog instances in a QWidget, but all I found used OpenGL or some rather complex stuff to achieve that. Actually, all the examples I found tried to achieve many more things than simply embed the QDialog. So, I am wondering: is there a simple and clean way to embed a QDialog in a QWidget?

P.S.: I tagged since it's what I'm using, but I will of course accept c++ answers :)

Here is a screen capture of the piece of software I have to port and for which I kind of need such a feature.

¿Fue útil?

Solución

You should use QMdiArea.

widget = QWidget()
mdiarea = QMdiArea() 
layout = QVBoxLayout(widget)
layout.addWidget(mdiarea)
d = QInputDialog()
d.setLabelText("test2")
d.setInputMode(QInputDialog.TextInput)
w = mdiarea.addSubWindow(d)
w.show()
widget.show()

Otros consejos

myDialog->setWindowFlags(Qt::Widget); // to embed dialog as a simple widget
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top