# QCreatorWdigetButton **Repository Path**: Ging_H/qcreator-wdiget-button ## Basic Information - **Project Name**: QCreatorWdigetButton - **Description**: QtCreator Wdiget: Button - **Primary Language**: C++ - **License**: LGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-03-01 - **Last Updated**: 2024-03-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # QCreatorWdigetButton #### 介绍 QtCreator Wdiget: Button 继承`QAbstractButton`重绘按钮外观 * 可以在Qtcreator和designer上使用的开关型控件,父类是QAbstractButton,可以作为输入控件 * 提供三种样式选择,`Default`,`Plain`,`Circle`,其中Default和Palin是可以配置`Rounded`圆角的角度,BGColor是按钮背景色(会自定计算各种状态下的颜色),FontColor是字体颜色 ![image-20240305165824640](README.assets/image-20240305165824640.png) ![image-20240305170045205](README.assets/image-20240305170045205.png) * 在测试程序当中,先点击左边的按钮选择示例,然后再配置右边的参数,可以直观的观察自定义控件的修改效果 * 左边是按钮示例,右边是设置参数,设置为`Circle`样式时,按钮的大小受到布局的影响限制大小,可以使用鼠标在窗口右下角拖放窗口从而改变按钮的大小 * LinearGradient是`线性渐变`,固定从QColor(255,255,255,200)渐变到BGColor. #### 编译环境 * Qt5.9.x或者更高的版本(Qt5.x) * msvc2015 32bit * QtCreator 4.3.0 /QtCreator 4.13.3/QtCreator 5.0.3以上QtCreator经过验证都可以使用 自定义控件的大版本号必须与编译QtCreator时所使用的Qt库大版本号保持一致,如下图QtCreator5.0.3基于Qt5.15.2(msvc2019,32bit),那么编译自定义控件就需要Qt5.x(实测5.9.0/5.9.9/5.15.2都可以),从QtCreator5.0.3之后开始QtCreator都是基于Qt6,就需要使用Qt6编译自定义控件. ![image-20240301100950702](README.assets/image-20240301100950702.png) * QtCreator5.0.3是使用MSVC2019-32bit编译的,那么自定义控件也需要使用MSVC-32bit编译,至于编译器版本号则没有严格的要求,实测MSVC2015/2017/2019,只要是32位的都可以(64位同理). * 如果只是使用源码,则可以无视以上版本要求,直接将源码添加进工程,然后编译即可(可能会存在Qt6/Qt5的兼容问题,需要修改移植). #### 构建 1. 使用CtCreator打开\*.pro,选择编译套件(Qt5.x, MSVCxxxx-32bit) 2. 项目分为自定义控件(button.pro)和测试程序(test.pro)两部分,两个互相关联但可以独立编译调试 3. 测试程序 1. 打开test.pro 2. 编译运行,如果修改自定义控件后编译test.pro无法运行,可能需要编译button.pro,然后再重新编译test. 3. test.exe存放在`$$PWD/exe`文件夹内,可以直接运行(可能需要执行windeployqt添加依赖库),在`Button.pro`可以在运行配置选择这个文件,这样就可以在修改控件的同时编译调试. 4. 如果使用QtCreator打开\*.ui,则相应的\*.dll将被锁定,无法替换,如果编译button.pro之后没有效果,可以先关闭QrCreator,重新打开编译(在打开*.ui文件之前). 4. 自定义控件 1. 打开Button.pro 2. 将pro文件里面的`creator.files`和`creator503.files`修改为QtCreator内置的designer插件路径(具体可搜索参考qt nmake install复制文件的操作) 3. 在项目配置选择构建,添加自定义进程,使用`nmake install `部署dll文件 4. 在项目配置选择运行,添加test.exe作为执行文件 5. 编译,运行测试效果 ![namek install](README.assets/image-20240305172413727.png) ![run test.exe](README.assets/image-20240305172225305.png) 如果生成dll文件没有复制到相应的目录下,则需要手动复制过去 使用时可以像普通控件一样使用,但是在部署的时候只能手动将dll文件复制到可执行文件目录下 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request