1.通过stackOver和stackUnder去控制。
// QWidget window;
// window.setGeometry(100, 100, 300, 200);// QLabel *label = new QLabel("在前的控件", &window);
// label->setGeometry(60, 40, 180, 60);// QPushButton *button = new QPushButton("在后的控件", &window);
// button->setGeometry(60, 40, 180, 60);// // 将button控件置于label控件的下方
// button->stackUnder(label);
// // 将button控件置于label控件的上方
// button->stackOver(label);
// window.show();
2.通过raise()和lower()函数实现
QPushButton *label = new QPushButton("在前的控件", &window);label->setGeometry(60, 40, 180, 60);QPushButton *button = new QPushButton("在后的控件", &window);button->setGeometry(60, 40, 180, 60);// 将button控件置于label控件的下方label->raise();button->lower();
// button->stackUnder(label);// 将button控件置于label控件的上方
// button->stackOver(label);window.show();
3.有些时候可能使用的是QGraphicsView,此时需要实现下图效果,可以通过右键窗体放到后面或者前面,内部写代码在窗体缩放时,实现控制窗体显示的具体位置。