1.stackedWidget实现切换界面
1.1索引的方法
1.将stackedWidget部件拖到界面
2.在右边的对象窗口找到部署的stackedWidget部件 ,右键删掉所有页
3.创建界面函数,根据实际情况选择界面模板。
然后命名
选择本项目的.pro
4.在主界面头文件增加 #include其他界面头文件,这里我的项目主界面头文件是 mainwindow.h
5.在mainwidow.cpp文件下加下列代码,用来定义一个指针类型变量,引用调用。注意界面添加顺序,下面代码需要用到
//dialog和dialog1是我创建界面的类名
//索引为0
dialog *form=new dialog;
ui->stackedWidget->addWidget(form);
//索引为1,以此类推
dialog1 *form1=new dialog1;
ui->stackedWidget->addWidget(form1);
6.可以在UI界面拉一个按钮部件,然后右键进行“转到槽”操作。
然后就会在主界面生成一个按钮函数
然后可以在函数里面加入下列代码调用界面,这里面输入的0表示我创建的界面dialog在第一个位置。
ui->stackedWidget->setCurrentIndex(0);
第二个界面索引则是1
ui->stackedWidget->setCurrentIndex(1);
1.2直接定位
除了索引,还有定位到窗口的方法,参考代码
void MainWindow::on_pushButton_2_clicked()
{
dialog *form1=new dialog;
ui->stackedWidget->addWidget(form1);
ui->stackedWidget->setCurrentWidget(form1);
}
2.生成多界面窗口
1.操作上面差不多,创建界面和按钮部件槽函数,然后就是包含界面头文件操作,接下来就是在按钮的槽函数给窗口2创建一个对象以及关闭或打开窗口,代码如下
void MainWindow::on_pushButton_2_clicked()
{
dialog1 *form2=new dialog1;
//this->close();
form2->show();
form2->setAttribute(Qt::WA_DeleteOnClose);//使Qt在小部件接受关闭事件时删除该小部件
}