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; | |
| 实现 |
| 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中,否则,只能引入一次
本文详细介绍了使用Qt进行多窗体设计的过程,包括3个.ui文件布局、3个窗体类的创建,以及如何通过静态方法初始化窗体。特别强调了静态成员的正确使用和初始化步骤,解决了窗体显示问题,实现了窗体间的完美切换。
2423

被折叠的 条评论
为什么被折叠?



