• 显示dll里的QWidget


    1 新建库->C++库

    2 命名(此处为mydll)并选择共享库--下一步--下一步

    3 选择所需要的模块(有使用到的都选上)此处勾选前三项QtCore+QtGui+QtWidgets

    4 完成创建

    5 添加界面文件---新建-文件和类-Qt设计师界面

    6 选界面模板Widget(根据需要)

    7 设定保存文件名(此处同项目名为mydll)

    8 进入可视化界面设计,修改objectName为mydll(此处必须设定成与项目类同名,否则会报错)

    9 修改mylib.h

    原内容

    #ifndef MYDLL_H
    #define MYDLL_H
    
    
    #include "mydll_global.h"
    
    
    class MYDLLSHARED_EXPORT Mydll
    {
    
    
    public:
        Mydll();
    };
    
    
    #endif // MYDLL_H

    改为

    
    
    #ifndef MYDLL_H
    #define MYDLL_H
    #include "mydll_global.h"
    #include <QWidget>
    namespace Ui {
        class mydll;
    }
    class MYDLLSHARED_EXPORT Mydll:public QWidget
    {
    public:
        Mydll(QWidget *parent = 0);
    private:
        Ui::mydll *ui;
    };
    #endif // MYDLL_H


    10 修改mydll.cpp

    原内容

    #include "mydll.h"
    
    
    
    
    Mydll::Mydll()
    {
    }

    改为

    #include "mydll.h"
    #include "ui_mydll.h"
    
    
    Mydll::Mydll(QWidget *parent):
        QWidget(parent),
        ui(new Ui::mydll)
    {
        ui->setupUi(this);
    }

    11构建即可生成dll(注意使用静态编译的Qt只生成.a没有生成dll)

    12 使用dll和使用其它dll一样

    INCLUDEPATH += D:Qtmydllmydll
    LIBS += D:Qtmydlluild-mydll-Desktop_Qt_5_3_MinGW_32bit-Release
    eleasemydll.dll
    
    
    

    .h

    #include "mydll.h"
    private:
        mydll w;

    .cpp

    w.show();

    即可

    注意:需要头文件mydll.h同时也要把mydll_global.h放在同文件夹内(如在mydll内将二者合并无法创建dll)

    http://blog.csdn.net/yh_1988/article/details/71933369

  • 相关阅读:
    将word转化为swf 进行如同百度文库的般阅读
    最大子数组问题——编程珠玑第八章
    为什么静态成员必须在类外初始化
    C++初始化列表
    异步消息总线hornetq学习-03客户端连接hornet进行jms消息的收发-非jndi方式连接
    [PLL][PM]锁相环模拟相位解调
    insertion sort
    SRM 581 D2 L2:SurveillanceSystem,重叠度
    JQuery(下)
    Ajax
  • 原文地址:https://www.cnblogs.com/findumars/p/8001579.html
Copyright © 2020-2023  润新知