rendered paste body#include <iostream>
#include <QApplication>
#include <QMainWindow>
class MyWidget : public QWidget
{
public:
MyWidget(QWidget *parent) : QWidget(parent), originalParent(NULL), child(this)
{
QPalette palette = child.palette();
palette.setColor(child.backgroundRole(), QColor(255, 0, 0));
child.setPalette(palette);
child.setAutoFillBackground(true);
std::cout << "winId() = " << child.winId() << "\n";
}
~MyWidget() { }
private:
void mouseDoubleClickEvent(QMouseEvent *)
{
if (originalParent == NULL) {
std::cout << "parent winId() = " << parentWidget()->winId() << "\n";
originalParent = parentWidget();
//setParent(window());
//show();
//window()->showFullScreen();
setParent(0);
show();
showFullScreen();
} else {
std::cout << "parent winId() = " << originalParent->winId() << "\n";
showNormal();
setParent(originalParent);
originalParent = NULL;
show();
//window()->showNormal();
}
std::cout << "winId() = " << child.winId() << "\n";
}
QWidget *originalParent;
QWidget child;
};
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QMainWindow window;
new MyWidget(new QWidget(&window));
window.show();
return app.exec();
}