大家好,我也是QT的新手一枚,最近也是因为公司需要,才开始研究QT。摸索了1周多点。写了一个小demo适合新手使用。

以前都是开发mac osx 使用都是苹果那套,有一些场景需要2个view.xib单独处理和显示,这样代码好维护。

所以就研究下QT是如何使用2个QWidget.ui来回切换,可以使用ui互相不影响。

百度了很多资料,现在才倒腾出来,下面给大家贴代码。

一、创建2个QWidget对象,派生。然后在主MainWindows里面声明成员对象。

QWidget 对象1 .h文件
QWidget 对象1 .cpp文件

QWidget 对象2 .h文件

QWidget 对象2 .cpp文件


主要的核心就是在回调函数里面,需要使用类里面的函数作为回调。

MainWindow 回调部分代码

//回调类型

typedefstd::functionVOID_CallBackEvent_VOID;

//绑定类,回调对象

#defineBindEvent(Event,pThis)std::bind(Event,pThis)

主要的核心代码在如何回掉类对象里面的函数体, 采用std::function 方法来作为对象绑定,记住这个是在C++11 里面才出现的。不要搞错了,编译出问题。

运行效果:

显示QWidget界面1

显示QWidget界面2

以下是Demo下载地址:https://download.csdn.net/download/yzhizhen/11191921

文章来源于互联网:QT 2个独立的QWidget对象来回切换,适合新手。

发表评论