您可以使用Qt的QStackedWidget控件来实现这个功能。将所有您要显示的控件添加到QStackedWidget中,并设置它们的大小和位置。然后,通过调用setCurrentIndex()方法来选择要显示的控件的索引。这样,只有当前选择的控件将显示在边框内,而其他控件将被隐藏。
以下是一个简单的示例代码:
#include <QtWidgets>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QFrame frame;
QHBoxLayout layout(&frame);
QPushButton button1("Button 1");
QPushButton button2("Button 2");
QStackedWidget stackWidget;
QWidget page1;
QVBoxLayout layout1(&page1);
QLabel label1("This is Page 1");
layout1.addWidget(&label1);
layout1.addWidget(&button1);
stackWidget.addWidget(&page1);
QWidget page2;
QVBoxLayout layout2(&page2);
QLabel label2("This is Page 2");
layout2.addWidget(&label2);
layout2.addWidget(&button2);
stackWidget.addWidget(&page2);
layout.addWidget(&stackWidget);
frame.setLayout(&layout);
stackWidget.setCurrentIndex(0); // initially show page 1
frame.show();
return app.exec();
}
在此示例中,我们创建了两个页面(page1和page2),并将它们添加到QStackedWidget控件中。然后,我们将QStackedWidget添加到主布局中,并将其显示在QFrame控件中。最后,我们调用setCurrentIndex()方法来选择要显示的页面(即,索引为0的页面,即page1)。