目录
前言
在实际工程应用中,利用QT进行界面设计时可能会涉及到多个类,难免会需要在一些类中调用到主窗口类中的某些ui控件,或者访问其类成员变量。
本博客将介绍如何实现这个过程。假定主窗口类为UiOperation,其他类为UiOperationDlg 。
方法
c++中qt项目的创建可见下博文,此处不赘述。
创建:☞QT安装 and VS2019中安装QT插件
初始化:☞QT代码移植到VS中复现
1 其他类必须继承QWidegt及其派生类
一个类如果想要使用ui控件,必须继承QWidegt及其派生类,否则无法调用ui指针。
2 将主窗口UI公有化
将UiOperation.h 中的私有的ui指针公有化
3 定义一个静态的Widget指针
我们需要在UiOperation.h中定义一个公有的静态Widget指针从UiOperation中将ui传入到UiOperationDlg类中,否则即使UiOperationDlg类中载入#include "UiOperation.h"也无法调用ui指针
然后在UiOperation.cpp文件中将指针初始化, 将我们主窗口的this传给mywidget。
4 将mywidget指针中的ui指针传给UiOperationDlg.h中我们定义的ui指针
测试
通过以上四步,就可以实现在UiOperationDlg类中通过ui指针调用ui控件或访问UiOperation类成员变量。
调用UI控件:
访问类成员变量:
------tbc-------
有用请点个👍哦~~😀
版权归原作者 8倍 所有, 如有侵权,请联系我们删除。