• Qt 界面做成dll以便调用


    1、将界面做成dll

    修改pro文件

    1 DEFINES += WIDGETDLL_LIBRARY
    2 TEMPLATE = lib

    修改头文件

     1 #if defined(WIDGETDLL_LIBRARY)
     2 #  define WIDGETDLLSHARED_EXPORT Q_DECL_EXPORT
     3 #else
     4 #  define WIDGETDLLSHARED_EXPORT Q_DECL_IMPORT
     5 #endif
     6  
     7 class WIDGETDLLSHARED_EXPORT WidgetDll:public QWidget, private Ui::Form
     8 {
     9     Q_OBJECT
    10 public:
    11  
    12     WidgetDll(QWidget *parent = 0);
    13  
    14 signals:
    15     void buttonPressed(QString);
    16  
    17 private slots:
    18     void on_pushButton_clicked();
    19 };

    生成dll

    2、新建桌面工程,在工程中添加引用dll的头文件

     1 #ifndef MAINWINDOW_H
     2 #define MAINWINDOW_H
     3  
     4 #include <QMainWindow>
     5 #include "widgetdll.h" //dll头文件
     6  
     7 namespace Ui {
     8 class MainWindow;
     9 }
    10  
    11 class MainWindow : public QMainWindow
    12 {
    13     Q_OBJECT
    14  
    15 public:
    16     explicit MainWindow(QWidget *parent = 0);
    17     ~MainWindow();
    18 private slots:
    19     void getBtn(QString); //接受dll中的信号
    20 private:
    21     Ui::MainWindow *ui;
    22  
    23     WidgetDll *m_mainwidget;
    24 };
    25  
    26 #endif // MAINWINDOW_H

    在构造函数中添加

    1 m_mainwidget = new WidgetDll(this);
    2 setCentralWidget(m_mainwidget);
    3 connect(m_mainwidget,&WidgetDll::buttonPressed,this,&MainWindow::getBtn);

    结果:centerwidget为dll,点击pushbutton向主程序发生消息

    总结:

    统一程序的接口,分解程序。在升级功能时只需要升级dll即可

  • 相关阅读:
    Python--day72--ajax简介
    Python基础1 介绍、基本语法
    10-Python-字符编码
    09-Python-集合
    07-Python-字符串操作
    99-Python-深浅拷贝
    06-Python-字典
    05-Python-判断语句
    04-Python-元组
    03-Python-操作列表
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/14024746.html
Copyright © 2020-2023  润新知