202005302

 

(1)3个*.ui文件布局:Label*1、PushButton*2

 

(2)创建3个类:ComFirstForm、ComSecForm、ComThdForm

 

(3)comfirstform.h文件中,添加头文件、静态变量和静态方法
        //是静态的,指针形式
        //静态:初始化

静态      
头文件 #include "firstform.h" #include "secform.h" #include "thdform.h"
成员 static FirstForm *point1; static SecForm *point2; static ThdForm *point3;
方法 static void InitForm(); static void InitForm(); static void InitForm();
  FirstForm *ComFirstForm::point1 = NULL; SecForm *ComSecForm::point2 = NULL; ThdForm *ComThdForm::point3 = NULL;
实现
point1 = new FirstForm();
point2 = new SecForm();   point3 = new ThdForm();

 

(4)comfirstform.cpp文件中

    (4.1)初始化之前先赋值为NULL

    (4.2)必须要指明作用域,这是静态成员的规则  

    (4.3)然后为其分配空间

 

(5)main.cpp中,第一个窗体的显示

所有窗体初始化,2个不显示出来。

遇到问题,如下所示:

 

原因:方法得是静态的

解决方法:void InitForm(); 前面要添加static 

 

(6)firstform.cpp

(7)其他两个secform.cpp, thdform.cpp同理

完美实现三个窗体切换

 

备注:关于公共部分头文件,坚决不放入*.h文件中,应该放在*.cpp中,否则,只能引入一次

 

 

 

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐