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,此时需要实现下图效果,可以通过右键窗体放到后面或者前面,内部写代码在窗体缩放时,实现控制窗体显示的具体位置。