当前位置: 首页 > news >正文

返利网站怎么做城北区工程建设信息网站

返利网站怎么做,城北区工程建设信息网站,打广告网站,seo公司哪家好目录 1.创建接口 2.创建插件 3.创建插件界面 4.插件实现 5.创建应用工程 6.应用插件 1.创建接口 打开QtCreater,点击左上角“文件”->新建文件或项目,在弹窗中选择C/CHeader File。 输入文件名,选好路径(可自行设置名称…

目录

1.创建接口

2.创建插件

3.创建插件界面

4.插件实现

5.创建应用工程

6.应用插件


1.创建接口

打开QtCreater,点击左上角“文件”->新建文件或项目,在弹窗中选择C++/C++Header File。

输入文件名,选好路径(可自行设置名称,路径)。后面点击下一步,完成就可以了。

在创建的文件中输入以下内容

class MyPlugin : public QObject
{Q_OBJECT
public:virtual ~MyPlugin(){}virtual void msgToPlugin(int) = 0; //插件接收消息
signals:void msgFromPlugin(int);//插件发送消息
public:QWidget* widget; //插件界面接口指针
};
#define MyPlugin_IID "com.wyc.myplugin"
Q_DECLARE_INTERFACE(MyPlugin, MyPlugin_IID);//将接口告诉Qt元对象系统

2.创建插件

再次点击“文件”->新建文件或项目,选择Library/C++ Library,

输入名称和路径,其他没展示的,都选择默认,点下一步就可以了

添加上面生成的插件接口头文件

修改pro前几行

QT       += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgetsTEMPLATE = lib
DEFINES += TEST_PLUGIN_UI_LIBRARY
CONFIG += plugin
CONFIG += c++11

3.创建插件界面

在test_plugin_ui项目上点击右键,选择Add new...,选择设计师界面类,输入名称。

界面中添加控件,用来测试和主界面的通讯。

头文件加入如下内容:

signals:void sendMsg(int);//发送消息
public slots:void recMsg(int); //接收消息
private slots:void on_send_clicked();

在cpp文件中实现相应的收发功能。

至此插件界面就做好了。

4.插件实现

在之前创建的test_plugin_ui.h中加入头文件:

#include "myplugin.h"
#include "pluginwidget.h"

在类中加入如下内容:

class TEST_PLUGIN_UI_EXPORT Test_plugin_ui : public MyPlugin
{Q_OBJECTQ_PLUGIN_METADATA(IID "com.wyc.myplugin")Q_INTERFACES(MyPlugin)
public:Test_plugin_ui();~Test_plugin_ui();void msgToPlugin(int); //接收消息
private:PluginWidget * m_pluginWidget = 0;
};

在cpp中初始化m_pluginWidget,并将其赋值给widget,外部界面可以通过widget指针使用插件里的界面.

m_pluginWidget = new PluginWidget;
widget = m_pluginWidget;
QObject::connect(m_pluginWidget, &PluginWidget::sendMsg, this, &Test_plugin_ui::msgFromPlugin);

实现函数void msgToPlugin(int)后,点击编译图标,即可生成.dll,.a文件

5.创建应用工程

创建应用工程

编译器一定要选跟上面一样的,其他都点“下一步”。

在ui文件中添加控件如下

右侧的布局用来添加插件界面。

6.应用插件

将上面生成的.dll和.a两个文件拷贝到相应的目录,比如Debug,就拷贝到build-...-Debug下,Release就拷贝到build-...-Release下。

将接口文件myplugin.h添加到工程中。

在头文件mainwindow.h中添加如下内容:

#include "myplugin.h"
public slots:void rectMsg(int value);
private slots:void on_sendBtn_clicked();
private:MyPlugin *m_plugin;

在mainwindow.cpp构造函数中添加如下内容:   

    if(!QLibrary::isLibrary(("test_plugin_ui.dll"))){qDebug()<<"not a library";return;}QDir dir("./test_plugin_ui.dll");qDebug()<<__LINE__ << dir.absolutePath();QPluginLoader loader(dir.absolutePath());loader.load();qDebug() << loader.errorString();m_plugin = qobject_cast<MyPlugin*>(loader.instance());if(m_plugin){ui->verticalLayout->addWidget(m_plugin->widget);connect(m_plugin, &MyPlugin::msgFromPlugin, this, &MainWindow::rectMsg);}else{qDebug()<<__LINE__ << "error";}

并在cpp文件中实现相应的收发功能,运行即可。

http://www.15wanjia.com/news/188761.html

相关文章:

  • 布吉网站建设哪家服务周到网站建设的代理
  • 网站维护需要网站顶部怎么做新浪链接
  • 电视网站免费大全做影视网站挣钱吗
  • 创建网站的三种方法wordpress不支持中文
  • 帮做网站制作挣钱怎样查网站和增加网站
  • 麻栗坡做网站业务平台
  • 网页制作与网站制作网站模板和后台
  • 网站推广引流织梦dedecms医院类网站在线预约挂号插件_utf8
  • 网站开发过程说明怎么写住房和城乡建设部令第37号
  • 高水平高职院校 建设网站利用access数据库做网站
  • 建筑图纸网站化妆品网站设计论文
  • 微信小程序制作团队广州网站制作实力乐云seo
  • 苏州网站建设创意修改图片网站
  • 微网站开发不用模板什么网站是做家教的
  • 西宁网站建设加q479185700深圳龙华汽车网站建设
  • 网站开发人员应该用什么浏览器如何保存个人网站
  • 吉安县规划建设局网站微信公众号对接wordpress教程
  • wordpress php环境搭建广州企业网站seo
  • 网站建设一般多少钱沈阳点金网站建设
  • 注册网站公司淘宝详情页psd模板免费
  • 武进网站建设wordpress二维码制作
  • 视听节目 网站建设长沙功能网站建设
  • 做毕业设计实物的网站深圳网站优化最好的方法
  • 深圳的设计网站大全上海的室内设计公司
  • 物流网站建设与管理建设网站空间多少钱
  • 网站改版需要怎么做服装设计网站素材
  • 青岛网站建设好不好WordPress首页怎么打开
  • 整站wordpress下载wordpress如何适配手机端
  • 国外好的设计网站有哪些财务网站模板
  • wordpress网站鼠标衡阳网站建设公司