需求
需要不同界面同样的位置有上下的公共部分
分解
在WPF中我亦接触到需要这样做的程序。在wpf中我将上下公共部分作为界面基类,其它界面都继承这个基类。我用qt准备定义一个stackedpanel,所有界面在stackedpanel中跳转,这样即可实现上下部分为公共共有部分。
代码实现
1、在MainWindow中定义stackedpanel控件:MainStackedPanel。
2、新建公共类Common,定义Ui_MainWindow的公共静态变量
#ifndef COMMON_H #define COMMON_H #include<iostream> #include <QSemaphore> #include "ui_mainwindow.h" class Common { public: static Ui_MainWindow *main; private: }; #endif // COMMON_H
3、在MainWindow初始化时,将当前界面赋值给Ui_MainWindow的公共静态变量main
Common::main=this->ui;
其它界面即亦可控制MainWinow里的stackedpanel控件。
各位大佬如有更优美更好的实现,欢迎提出来,谢谢|!