Qt界面跳转中的超前引用问题

Posted tanWFront

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt界面跳转中的超前引用问题相关的知识,希望对你有一定的参考价值。

引子

最近要用Qt编写界面,需要两个界面的相互跳转。刚接触Qt有很多东西不懂,有遇到问题就记录一下,方便自己以后的查阅。

问题的描述

需要完成的功能是用pushbutton1从界面A进入界面B,从界面B的pushbutton2返回界面A。

整个过程

pushbutton1:

void priceInputDialog::on_pricePushButton_clicked()
    //关闭当前页面显示输出界面
    this->close();
    priceOutputDialog* priceOutput = new priceOutputDialog;
    priceOutput->show();
    priceOutput->exec();

 pushbutton2: 

void priceOutputDialog::on_pricePushButton_clicked()
    //关闭当前页面返回输入页面
    this->close();
    priceInputDialog* priceInput = new priceInputDialog;
    priceInput->show();
    priceInput->exec();
 
 这里就出现了一个问题,在
priceinputdialog.h (输入界面的头文件)中要包含priceoutputdialog.h(输出界面的头文件),而priceoutputdialog.h(输出界面的头文件)要包含 

priceinputdialog.h (输入界面的头文件),这就产生了,超前引用的问题——一个类型在定义之前就被用来定义变量和声明函数。

解决方法

class priceInputDialog;在priceoutputdialog.h声明即将超前引用的类名。(注:不可使用类名来定义变量和函数的变量参数,只可用来定义引用或者指针)。


以上是关于Qt界面跳转中的超前引用问题的主要内容,如果未能解决你的问题,请参考以下文章

vue:在路由跳转中使用拦截器

控制台显示修改成功,但页面跳转不了

大三上寒假15天--第12天

PHP中怎样跳转页面?

aspx 自动跳转问题

Nginx负载第一次解析地址生效页面跳转后第二次解析无法完成