# Qt嵌入Lua脚本互动 **Repository Path**: arthur_net/qt-embedding---lua-script ## Basic Information - **Project Name**: Qt嵌入Lua脚本互动 - **Description**: Qt嵌入lua进行数据交互,C++实现 - **Primary Language**: Unknown - **License**: LGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-11-10 - **Last Updated**: 2024-12-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: Qt, Lua, Cpp, 混合编程 ## README # 测试Qt嵌入Lua脚本语言 ## 第一个工程`Testdemo1`主要是关于Qt与lua脚本数据交互的内容 1. 内容主要是Qt传递相关参数给lua脚本返回相关的数据 2. 添加lua C源文件时不要添加lua.c与luac.c两个文件,否则无法编译 ## 第二`PrintTools`工程主要是结合lua制作了一个斑马标签打印机交互的内容 ###### 工程有5个类构成 1. `MainBox()`类主线程,页面展示与用户交互 2. `QLua()`类Lua脚本内容获取与数据传递 3. `QPrintTools()`类进行数据处理 4. `QLineTools()`类连接设备数据通信 5. `QConfigTools()`类UI初始化界面数据本地持久化 ###### 程序主入口通过`QSharedMemory()`实现程序单例 ```cpp QApplication a(argc, argv); MainBox w; QSharedMemory shard("run"); if(shard.attach()) { QMessageBox::warning(&w,"Error","程序重复运行"); return 0; } shard.create(1); w.show(); return a.exec();.show(); ``` ###### 修改按钮样式表制作圆形按钮 ```css QPushButton { min-width: 120px; max-width: 120px; max-height: 120px; min-height: 120px; border-radius: 60px; font-size: 20px; color: black; background: #00ff00 ; /* 默认颜色 */ } QPushButton:hover { font-size: 24px; color: black; background: #007F00; /* 悬停颜色 */ } QPushButton:pressed { background: #00c800 /* 按下颜色 */ } ```