C++VS ui界面动态库

  1. 新建QT lib
    加入QT gui 和 QT core
  2. 不要点击生成lib静态
  3. 新建完成删除.h .cpp文件。记住名字。
  4. 右击添加类-》QT4guiclass 类名字填写刚才那个名字一致即可。
  5. 设置导出 testlib_global.h 文件下 复制TESTLIB_EXPORT
  6. testlib.h 引入

#include “testlib_global.h”
class TESTLIB_EXPORT testLib : public QWidget
7. 加入按钮和槽函数
void testLib::on_okButton_clicked()
{
qDebug() << “TEST LIB TESTLIB!!!”;
}
8. 生成
完成了创建动态库
3个h文件
lib文件
dll文件
9. 新建正常的QT gui项目
10. 项目目录下新建include ,lib文件,h文件放inde ,lib,dll 文件放到lib 里。
11. 点击调试
12. 项目属性中包含目录,库目录,添加依赖项
13. ui文件添加按钮事件 添加一个stackedWidget
void LibUser::on_anBtn_clicked()
{
ui.stackedWidget->setCurrentIndex(1);
}
注意ui后 是 . stackedWidget 后面是 ->
14. cpp中 引入
#include “testlib.h”

LibUser::LibUser(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
ui.setupUi(this);

testLib *w = new testLib;
w->show();

}

testLib 为动态库类名字

注意:::
C++动态库再调用时:
UpdatePwd *w = new UpdatePwd(std::string(“11112”));
w->show();
写为指针,不然一闪而过,如果报错LINK2019 查看是否再类前面加入了 PLUGIN_UPDATEPWD_API 导出。


C++VS ui界面动态库
http://zanderchan666.github.io/2023/10/01/C++ ui界面动态库及调用/
作者
Zander
发布于
2023年10月1日
许可协议