Qt开发自学9_静态公共方法实现多窗体切换

本文详细介绍了使用Qt进行多窗体设计的过程,包括3个.ui文件布局、3个窗体类的创建,以及如何通过静态方法初始化窗体。特别强调了静态成员的正确使用和初始化步骤,解决了窗体显示问题,实现了窗体间的完美切换。

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中,否则,只能引入一次

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卢奕冰2017

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值