首页 > 其他分享 >Qt 自定义控件

Qt 自定义控件

时间:2024-03-11 18:12:08浏览次数:34  
标签:控件 Qt 自定义 xxx path target

参考:

https://blog.csdn.net/danshiming/article/details/134383612
https://blog.csdn.net/u011832219/article/details/128531359

 

1、创建自定义控件

新建qt项目(项目1),选择其他项目中的 “Qt设计师自定义控件”,构建套件的版本类型需要与'帮助'列表中'About Qt Creator'弹窗的信息版本一致。

编译生成release版本的控件程序,windows下生成xxx.lib和xxx.dll, linux下生成 xxx.so

2、windows下使用控件

a) 将生成的dll文件放在qt安装目录

xxx\Qt5.12.9\Tools\QtCreator\bin\plugins\designer 和

xxx\Qt\Qt5.12.9\5.12.9\msvc2017\plugins\designer

两个文件夹下。

b) 将自定义控件的xxx.h头文件和xxx.lib文件放在要使用自定义控件的项目(项目2)的根目录下

c) 在项目2中添加对头文件的引用和库文件xxx.lib,下文标红部分

HEADERS += \
    mainwindow.h \
    myline.h

FORMS += \
    mainwindow.ui

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/./ -lmylineplugin
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/./ -lmylineplugind

d) 将xxx.dll文件放在项目2的生成目录下。

3、Linux下使用控件

a) 将生成的.so文件放在qt安装目录

xxx/Qt5.12.9/Tools/QtCreator/lib/Qt/plugins 和

xxx/Qt5.12.9/5.12.9/gcc_64/plugins

两个文件夹下。

b) 将自定义控件的xxx.so文件放在要使用自定义控件的项目(项目2)的根目录下

c) 在项目2中添加对头文件的引用和库文件xxx.so,下文标红部分

HEADERS += \
    hhline.h \
    mainwindow.h

FORMS += \
    mainwindow.ui

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

RESOURCES += \
    HelloW.qrc

unix:!macx: LIBS += -L$$PWD/./ -lhhlineplugin

d) 将xxx.so文件放在项目2的生成目录下。

标签:控件,Qt,自定义,xxx,path,target
From: https://www.cnblogs.com/fengzhengfly/p/18066714

相关文章

  • uniapp自定义导航栏
    uniapp项目自定义顶部导航栏1.创建组件完整代码navigation.vue<template><viewclass="navbar-header":style="isfixed?'padding-top'+navHeight+'px':'padding-top:0px'"><viewclass="navbarcustom......
  • 如何在Qt的 paintEvent之外进行绘制
    QPainter默认只能在paintEvent中进行绘制这在有些情况下会很不方便,有时候我们希望可以在任意地方直接进行绘制 为了实现这个目的,可以采用以下方法:继承QWidget,通过子类提供直接绘制的方法,并将所有绘制保存到中间的QPixmap最后在重载的paintEvent中将QPixmap复制显示:#prag......
  • QT 多线程
     第一种:静态函数1voidprint()2{3for(inti=0;i<5;i++)4qInfo()<<"helloglobalprint";5}6classMainWindow:publicQWidget7{8Q_OBJECT9public:10MainWindow(QWidget*parent=nullptr):QWidget(parent)......
  • QT信号与槽机制与事件机制的区别
    QT信号与槽机制与事件机制的区别第一:什么是信号与槽?事件?所谓信号槽,实际就是观察者模式。当某个事件发生之后,比如,按钮检测到自己被点击了一下,它就会发出一个信号(signal)。这种发出是没有目的的,类似广播。如果有对象对这个信号感兴趣,它就会使用连接(connect)函数,意思是,用自己的一......
  • 新鲜出炉!界面控件DevExpress WinForms 2024产品路线图预览(二)
    DevExpressWinForm拥有180+组件和UI库,能为WindowsForms平台创建具有影响力的业务解决方案。DevExpressWinForm能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!本文将介绍2024年DevExpressWinForms第一个主要更新......
  • RAG实战5-自定义prompt
    RAG实战5-自定义prompt在阅读本文之前,先阅读RAG实战4。在RAG实战4中我们分析了LlamaIndex中RAG的执行过程,同时留下了一个尚待解决的问题:LlamaIndex中提供的prompttemplate都是英文的,该如何使用中文的prompttemplate呢?直接看以下代码:importloggingimportsysimporttorchf......
  • 安卓开发学习-按钮控件
    java代码点击查看代码packagecom.android.myapp;importandroid.annotation.SuppressLint;importandroid.os.Bundle;importandroid.widget.CheckBox;importandroid.widget.RadioGroup;importandroid.widget.Switch;importandroid.widget.TextView;importandroi......
  • 自定义事件提醒程序
    因为各大软件无法实现每隔自定义固定天数进行事件提醒的功能,在此用Python写了一个简易的Windows端事件提醒弹窗程序。注意没有做界面,只是把事件写死在了程序中,设置为开机自启动,挂在后台一直运行(cpu占用率几乎为0%),到点就会进行弹窗提醒。Step0.环境配置建议新建一个环境,后面用......
  • 使用AT+MQTT指令连接华为云实现数据上传
    1准备工作硬件设备模块:ESP-01-S固件烧录工具:ESP8266下载器串口调试工具:VOFA+参考文章:stm32+AT指令+ESP8266接入华为云物联网平台并完成属性上报与下发的命令处理2固件更新2.1为什么要重新安装固件由于ESP-01-S模块出厂没有集成MQTT指令,故需要自己下载固件包,详见官网固......
  • 【WPF】-ComboBox控件详解
    ComboBox控件在很多方面都类似于ListBox控件,但占用的空间要少得多,因为项目列表在不需要时会隐藏起来。ComboBox控件在Windows中的很多地方都有使用,但为了确保每个人都知道它的外观和工作方式,我们将直接进入一个简单的示例:<Windowx:Class="WpfTutorialSamples.ComboBox_co......