我一直在寻找一种在QDialog
中嵌入QWidget
个实例的简单方法,但我发现只使用OpenGL或一些相当复杂的东西来实现这一点。实际上,我发现的所有例子都试图实现更多的东西,而不仅仅是嵌入QDialog
。所以,我想知道:是否有一种简单而干净的方法可以在QDialog
中嵌入QWidget
?
P.S。:我标记了pyqt,因为它正是我正在使用的,但我当然会接受c ++答案:)
这是我必须移植的软件的screen capture,我需要这样的功能。
答案 0 :(得分:5)
您应该使用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()
答案 1 :(得分:5)
myDialog->setWindowFlags(Qt::Widget); // to embed dialog as a simple widget