在Qt中ElaWidgetTools的基础使用

介绍一下ElaWidgetTools的基础使用方法

ElaWidgetTools介绍

基于QT-Widget开发的FluentUI风格的组件库,同时提供不限于组件的常用集成功能;目前Main分支支持QT5.12以上所有版本(Linux为QT5.15以上),推荐版本为QT6.4.3和QT6.6.2;

在项目中使用

构建dll

ElaWidgetTools

Clone下来并使用QtCreater打开,项目是CMaker,所以说打开的是CMakeLists.txt

1

选择和你项目一致的版本,使用release构建

在根目录下即可得到elawidgettools.dll和elawidgettools.lib

添加到自己项目

在项目文件夹中创建lib文件夹和include文件夹

2

把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 "mainwindow.h"

#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();
}

如果没问题的话应该会有这个界面
3

在项目中使用

窗口修改

.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里创建外,部分控件(有继承关系的话)还可以用界面设计中的“提升为”功能。当然,不推荐这么做。

4


在Qt中ElaWidgetTools的基础使用
https://zao-chen.github.io/2024/10/23/使用ElaWidgetTools的基础使用/
作者
Zao_chen
发布于
2024年10月23日
许可协议