介绍一下ElaWidgetTools的基础使用方法
基于QT-Widget开发的FluentUI风格的组件库,同时提供不限于组件的常用集成功能;目前Main分支支持QT5.12以上所有版本(Linux为QT5.15以上),推荐版本为QT6.4.3和QT6.6.2;
在项目中使用
构建dll
ElaWidgetTools
Clone下来并使用QtCreater打开,项目是CMaker,所以说打开的是CMakeLists.txt

选择和你项目一致的版本,使用release构建
在根目录下即可得到elawidgettools.dll和elawidgettools.lib
添加到自己项目
在项目文件夹中创建lib文件夹和include文件夹

把elawidgettools.dll和elawidgettools.lib放到lib文件夹
把ElaWidgetTools-main\src\include中的文件放到include文件夹
接下来打开自己项目的cmakelists
首先要把include文件夹包含进来
1 2 3
| include_directories( include )
|
然后再add_executable中添加qrc
1
| include/ElaWidgetTools.qrc
|
最后链接目标库,再target_link_libraries中添加
1
| ${CMAKE_CURRENT_SOURCE_DIR}/lib/elawidgettools.lib
|
大功告成,这是完整的cmakelist示例仅供参考:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| cmake_minimum_required(VERSION 3.16)
project(Test VERSION 0.1 LANGUAGES CXX)
set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Qt6 REQUIRED Widgets Multimedia MultimediaWidgets NetWork)
set(PROJECT_SOURCES main.cpp mainwindow.cpp mainwindow.h mainwindow.ui )
add_executable(${PROJECT_NAME} ${PROJECT_SOURCES} include/ElaWidgetTools.qrc res.qrc)
include_directories( include )
target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::Widgets Qt6::Multimedia Qt6::MultimediaWidgets Qt6::Network ${CMAKE_CURRENT_SOURCE_DIR}/lib/elawidgettools.lib
)
|
可以这样修改main.cpp来测试是否成功
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
#include <QApplication> #include "ElaApplication.h" #include "ElaWindow.h"
int main(int argc, char *argv[]) { QApplication a(argc, argv); ElaApplication::getInstance()->init(); ElaWindow w; w.show(); return a.exec(); }
|
如果没问题的话应该会有这个界面

在项目中使用
窗口修改
.h中在添加头文件的基础上把
1
| class MainWindow : public QMainWindow
|
修改为
1
| class MainWindow : public ElaWidget 或者 ElaWindow
|
即可,widget和window看自己需求
当然cpp里也要修改为Ela
1 2 3 4 5 6
| MainWindow::MainWindow(QWidget *parent) : ElaWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); }
|
之后需要在main.cpp中初始化
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| #include "mainwindow.h"
#include <QApplication> #include "ElaApplication.h"
int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.show(); eApp->init(); return a.exec(); }
|
使用控件
控件的使用除了在cpp里创建外,部分控件(有继承关系的话)还可以用界面设计中的“提升为”功能。当然,不推荐这么做。
