From 5d8b3f7bdbce50e3072b73d373aed5152e5ecb6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=96=87=E5=B3=B0?= Date: Wed, 25 Feb 2026 18:34:49 +0800 Subject: [PATCH] qt --- PCB/lichuang_pcb/lichuang_eda.eprj2 | Bin 2715648 -> 2715648 bytes code/qt_lvgl/.gitignore | 82 ++++++++++++++++++++++++++++ code/qt_lvgl/CMakeLists.txt | 70 ++++++++++++++++++++++++ code/qt_lvgl/main.cpp | 11 ++++ code/qt_lvgl/mainwindow.cpp | 14 +++++ code/qt_lvgl/mainwindow.h | 23 ++++++++ code/qt_lvgl/mainwindow.ui | 31 +++++++++++ 7 files changed, 231 insertions(+) create mode 100644 code/qt_lvgl/.gitignore create mode 100644 code/qt_lvgl/CMakeLists.txt create mode 100644 code/qt_lvgl/main.cpp create mode 100644 code/qt_lvgl/mainwindow.cpp create mode 100644 code/qt_lvgl/mainwindow.h create mode 100644 code/qt_lvgl/mainwindow.ui diff --git a/PCB/lichuang_pcb/lichuang_eda.eprj2 b/PCB/lichuang_pcb/lichuang_eda.eprj2 index 0552588850200695db2e50ecda6c24a7040837b4..9e33773b02d65dd83d8f02be6b3485f719d8b859 100644 GIT binary patch delta 144 zcmWN=$rZs+06@|6&GQhm1Th75XykQZm3=JUo(^o3pdY1h&$-3-9g6=)9P(#!4f!1j zQj)S%q$)M3OGBE{lD2fDD?RDUK!y^@NX9aesmx?93t37miL7KT8%bp=JK4)Yj*`hq J&L1wX+YijvFuni) delta 144 zcmWN=$rZs+06@|6&GQhm1Th75XykQZlLBJ#_HS;$giNn|B!*+?o|*~wlGa+FL? Ja{h36-G0l_FuVW& diff --git a/code/qt_lvgl/.gitignore b/code/qt_lvgl/.gitignore new file mode 100644 index 0000000..aa3808c --- /dev/null +++ b/code/qt_lvgl/.gitignore @@ -0,0 +1,82 @@ +# This file is used to ignore files which are generated +# ---------------------------------------------------------------------------- + +*~ +*.autosave +*.a +*.core +*.moc +*.o +*.obj +*.orig +*.rej +*.so +*.so.* +*_pch.h.cpp +*_resource.rc +*.qm +.#* +*.*# +core +!core/ +tags +.DS_Store +.directory +*.debug +Makefile* +*.prl +*.app +moc_*.cpp +ui_*.h +qrc_*.cpp +Thumbs.db +*.res +*.rc +/.qmake.cache +/.qmake.stash + +# qtcreator generated files +*.pro.user* +*.qbs.user* +CMakeLists.txt.user* + +# xemacs temporary files +*.flc + +# Vim temporary files +.*.swp + +# Visual Studio generated files +*.ib_pdb_index +*.idb +*.ilk +*.pdb +*.sln +*.suo +*.vcproj +*vcproj.*.*.user +*.ncb +*.sdf +*.opensdf +*.vcxproj +*vcxproj.* + +# MinGW generated files +*.Debug +*.Release + +# Python byte code +*.pyc + +# Binaries +# -------- +*.dll +*.exe + +# Directories with generated files +.moc/ +.obj/ +.pch/ +.rcc/ +.uic/ +/build*/ diff --git a/code/qt_lvgl/CMakeLists.txt b/code/qt_lvgl/CMakeLists.txt new file mode 100644 index 0000000..84f8d4a --- /dev/null +++ b/code/qt_lvgl/CMakeLists.txt @@ -0,0 +1,70 @@ +cmake_minimum_required(VERSION 3.16) + +project(qt_lvgl 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(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets) +find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets) + +set(PROJECT_SOURCES + main.cpp + mainwindow.cpp + mainwindow.h + mainwindow.ui +) + +if(${QT_VERSION_MAJOR} GREATER_EQUAL 6) + qt_add_executable(qt_lvgl + MANUAL_FINALIZATION + ${PROJECT_SOURCES} + ) +# Define target properties for Android with Qt 6 as: +# set_property(TARGET qt_lvgl APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR +# ${CMAKE_CURRENT_SOURCE_DIR}/android) +# For more information, see https://doc.qt.io/qt-6/qt-add-executable.html#target-creation +else() + if(ANDROID) + add_library(qt_lvgl SHARED + ${PROJECT_SOURCES} + ) +# Define properties for Android with Qt 5 after find_package() calls as: +# set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android") + else() + add_executable(qt_lvgl + ${PROJECT_SOURCES} + ) + endif() +endif() + +target_link_libraries(qt_lvgl PRIVATE Qt${QT_VERSION_MAJOR}::Widgets) + +# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1. +# If you are developing for iOS or macOS you should consider setting an +# explicit, fixed bundle identifier manually though. +if(${QT_VERSION} VERSION_LESS 6.1.0) + set(BUNDLE_ID_OPTION MACOSX_BUNDLE_GUI_IDENTIFIER com.example.qt_lvgl) +endif() +set_target_properties(qt_lvgl PROPERTIES + ${BUNDLE_ID_OPTION} + MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION} + MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} + MACOSX_BUNDLE TRUE + WIN32_EXECUTABLE TRUE +) + +include(GNUInstallDirs) +install(TARGETS qt_lvgl + BUNDLE DESTINATION . + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} +) + +if(QT_VERSION_MAJOR EQUAL 6) + qt_finalize_executable(qt_lvgl) +endif() diff --git a/code/qt_lvgl/main.cpp b/code/qt_lvgl/main.cpp new file mode 100644 index 0000000..fd3e533 --- /dev/null +++ b/code/qt_lvgl/main.cpp @@ -0,0 +1,11 @@ +#include "mainwindow.h" + +#include + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + MainWindow w; + w.show(); + return a.exec(); +} diff --git a/code/qt_lvgl/mainwindow.cpp b/code/qt_lvgl/mainwindow.cpp new file mode 100644 index 0000000..6395a77 --- /dev/null +++ b/code/qt_lvgl/mainwindow.cpp @@ -0,0 +1,14 @@ +#include "mainwindow.h" +#include "./ui_mainwindow.h" + +MainWindow::MainWindow(QWidget *parent) + : QMainWindow(parent) + , ui(new Ui::MainWindow) +{ + ui->setupUi(this); +} + +MainWindow::~MainWindow() +{ + delete ui; +} diff --git a/code/qt_lvgl/mainwindow.h b/code/qt_lvgl/mainwindow.h new file mode 100644 index 0000000..f7a3da3 --- /dev/null +++ b/code/qt_lvgl/mainwindow.h @@ -0,0 +1,23 @@ +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include + +QT_BEGIN_NAMESPACE +namespace Ui { +class MainWindow; +} +QT_END_NAMESPACE + +class MainWindow : public QMainWindow +{ + Q_OBJECT + +public: + MainWindow(QWidget *parent = nullptr); + ~MainWindow(); + +private: + Ui::MainWindow *ui; +}; +#endif // MAINWINDOW_H diff --git a/code/qt_lvgl/mainwindow.ui b/code/qt_lvgl/mainwindow.ui new file mode 100644 index 0000000..7bff7e1 --- /dev/null +++ b/code/qt_lvgl/mainwindow.ui @@ -0,0 +1,31 @@ + + + MainWindow + + + + 0 + 0 + 800 + 600 + + + + MainWindow + + + + + + 0 + 0 + 800 + 21 + + + + + + + +