Qt 使用QScintilla 编辑lua 脚本

需求:

利用QScintilla 编辑lua 脚本

步骤:

1,下载 QScintilla Riverbank Computing | Download

2,   打开 src/qscintilla.pro 文件 编译出 dll库

3,工程中引入这个库

注意debug 模式 必须加载debug 版本编译的库,不然回提示 ”QWidget: Must construct a QApplication before a QWidget“

4,使用

#include <QApplication>#include <QMainWindow>
#include <QVBoxLayout>
#include <qsciscintilla.h>
#include <qscilexerlua.h>
#include <qsciapis.h>int main(int argc, char *argv[])
{QApplication app(argc, argv);// 创建窗口和布局QMainWindow  window;// 创建编辑器控件QsciScintilla editor(&window);window.setCentralWidget(&editor);editor.setMarginWidth(0, 40);editor.setIndentationGuides(true);editor.setTabWidth(4);editor.setUtf8(true);QsciLexerLua *textLexer = new QsciLexerLua;editor.setLexer(textLexer);//设置编码为UTF-8QsciAPIs apis(textLexer);apis.add(QString("and"));apis.add(QString("break"));apis.add(QString("do"));apis.add(QString("else"));apis.add(QString("elseif"));apis.add(QString("end"));apis.add(QString("false"));apis.add(QString("for"));apis.add(QString("function"));apis.add(QString("if"));apis.add(QString("in"));apis.add(QString("local"));apis.add(QString("nil"));apis.add(QString("not"));apis.add(QString("or"));apis.add(QString("repeat"));apis.add(QString("return"));apis.add(QString("then"));apis.add(QString("true"));apis.add(QString("until"));apis.add(QString("while"));apis.prepare();editor.setAutoCompletionSource(QsciScintilla::AcsAll);editor.setAutoCompletionCaseSensitivity(true);editor.setAutoCompletionThreshold(1);editor.SendScintilla(QsciScintilla::SCI_SETCODEPAGE,QsciScintilla::SC_CP_UTF8);editor.setCaretLineVisible(true);editor.setFolding(QsciScintilla::BoxedFoldStyle);// 显示窗口window.show();return app.exec();
}

5,效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/689191.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多维时序 | Matlab实现基于VMD-DBO-LSTM、VMD-LSTM、LSTM的多变量时间序列预测

多维时序 | Matlab实现基于VMD-DBO-LSTM、VMD-LSTM、LSTM的多变量时间序列预测 目录 多维时序 | Matlab实现基于VMD-DBO-LSTM、VMD-LSTM、LSTM的多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab实现基于VMD-DBO-LSTM、VMD-LSTM、LSTM的多变量时间…

MyBatis基础学习

一、MyBatis简介 二、MyBatis-HelloWorld 三、MyBatis-全局配置文件 四、MyBatis-映射文件 五、MyBatis-动态SQL 六、MyBatis-缓存机制 七、MyBatis-Spring整合 八、MyBatis-逆向工程 九、MyBatis-工作原理 十、MyBatis-插件开发

在ChatGPT时代,出国留学如何避免掉入学术不端重灾区?

近日&#xff0c;哈佛校长克洛迪娜盖伊在校园“反犹风波”中因立场问题被迫辞职。此外&#xff0c;哈佛大学相关调查委员会还发现盖伊在学术论文中存在错误引用资料来源等问题。对于种种学术不端行为&#xff0c;留学生如何防范&#xff1f;在ChatGPT时代&#xff0c;出国留学如…

SpringBoot助力!轻松实现微信模版消息推送

本篇文章的主题是 如何通过springboot来实现微信的模版消息推送 实现效果&#xff1a; 在当今的信息化时代&#xff0c;微信作为国人最为常用的通讯工具之一&#xff0c;已经不仅仅是一个简单的社交应用&#xff0c;更是连接人与服务、人与信息的桥梁。企业微信模板消息作为…

python毕设选题 - 大数据商城人流数据分析与可视化 - python 大数据分析

文章目录 0 前言课题背景分析方法与过程初步分析&#xff1a;总体流程&#xff1a;1.数据探索分析2.数据预处理3.构建模型 总结 最后 0 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&#xff0c;往往达不到…

Arduino的PWM应用:舵机控制

目录 概述 1 认识舵机 1.1 舵机分类 1.2 舵机结构 1.3 舵机工作原理 1.4 舵机控制原理 1.5 舵机工作参数介绍 1.5.1 基本参数 1.5.2 舵机扭矩 2 系统硬件 2.1 硬件模块介绍 2.1.1 SG90 9G 360舵机 2.1.2 SG90 9G 180舵机 2.1.3 Arduino UNO 主板 2.2 整体结构…

2024免费版EasyRecovery软件有哪些功能限制?

EasyRecovery软件的主要功能包括&#xff1a; 数据恢复&#xff1a;这是EasyRecovery软件的核心功能。它可以恢复因各种原因丢失或删除的数据&#xff0c;无论是由于磁盘格式化、文件删除还是其他因素。EasyRecovery使用高级的数据恢复算法&#xff0c;能够快速扫描整个磁盘&a…

spring boot自动装配及自动装配条件判断

第一步需要在pom.xml文件指定需要导入的坐标 要是没有自动提示需要检查maven有没有 实现代码 /*springboot第三方自动配置实现方法 * 什么是自动配置 自动配置就是springboot启动自动加载的类不需要在手动的控制反转自动的加入bean中 * * *//*第一种方案包扫描 不推荐因为繁琐…

普中51单片机学习(十)

动态数码管 数码管显示原理 动态显示的特点是将所有数码管的段选线并联在一起&#xff0c;由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选&#xff0c;利用发光管的余辉和人眼视觉暂留作用&#xf…

Leetcode 115 不同的子序列

题意理解&#xff1a; 给你两个字符串 s 和 t &#xff0c;统计并返回在 s 的 子序列 中 t 出现的个数&#xff0c;结果需要对 109 7 取模。 即此题可以理解为&#xff1a;从s中删除元素去构造t,有多少种方法 或者也可以理解为&#xff1a;s中按顺序取t,有多少个 则一定有s和t…

unity学习(15)——服务器组装(1)

1.新建好的c#项目如下&#xff1a; 文件夹中内容如下&#xff1a; 此时已经可以通过vs2022打开.sln文件&#xff0c;就可以打开项目了。 2.我们把逆向后&#xff08;主程序&#xff09;的内容的代码粘贴过去。有些逆向功底&#xff0c;很快可以定位到&#xff0c;服务器的入口…

【leetcode热题】从中序与后序遍历序列构造二叉树

给定两个整数数组 inorder 和 postorder &#xff0c;其中 inorder 是二叉树的中序遍历&#xff0c; postorder 是同一棵树的后序遍历&#xff0c;请你构造并返回这颗 二叉树 。 示例 1: 输入&#xff1a;inorder [9,3,15,20,7], postorder [9,15,7,20,3] 输出&#xff1a;[3…

GaiaDB-X 获选北京国家金融科技认证中心「数据领域首批专项示范与先行单位」

2023 年 12 月 21 日至 22 日&#xff0c;「2023北京国际金融安全论坛暨金融科技标准认证生态大会」在北京金融安全产业园举办。百度智能云分布式数据库 GaiaDB-X 产品荣登「数据领域首批专项示范与先行单位」名单&#xff0c;并获得了由北京国家金融科技认证中心颁发的「数据产…

软考29-上午题-排序

一、排序的基本概念 1-1、稳定性 稳定性指的是相同的数据所在的位置经过排序后是否发生变化。若是排序后&#xff0c;次序不变&#xff0c;则是稳定的。 1-2、归位 每一趟排序能确定一个元素的最终位置。 1-3、内部排序 排序记录全部存放在内存中进行排序的过程。 1-4、外部…

【C++ QT项目2】——高仿安信可串口调试助手

【C QT项目2】——高仿安信可串口调试助手 1. 项目概述2. 项目UI设计3. 串口通信核心代码开发3.1 QSerialPort介绍及示例3.2 扫描系统串口3.3 数据的收发3.4 定时发送&#xff08;QT定时器&#xff09;3.5 HEX显示与发送 4. 串口调试助手功能的优化4.1 串口的实时扫描4.2 获取系…

PCB的介质损耗角是什么“∠”?

1、什么叫介质 介质是指在某种特定条件下能够传递力、能量或信息的物质或者空间。在物理学和工程学中&#xff0c;介质通常是指固体、液体或气体&#xff0c;它们能够传递机械波、电磁波等。例如&#xff0c;在声学中&#xff0c;空气、水和固体都可以作为声波的传播介质&…

宠物空气净化器哪个品牌高质量?宠物空气净化器适合养猫家庭吗?

在养宠物的家庭中&#xff0c;除了必备的猫粮、猫砂和罐头等日常用品&#xff0c;宠物空气净化器也是不可或缺的。这种设备可以在我们无法开窗通风的情况下&#xff0c;有效净化室内空气&#xff0c;同时降低因动物皮屑引起的过敏反应。然而&#xff0c;在市场上充斥着各种功能…

STM32--EXTI外部中断

一、中断概念 二、EXTI简介 相同的Pin不能同时触发中断&#xff1a;比如PA0和PB0不能同时使用&#xff1b; 三、STM32中断 中断向量表&#xff1a; 程序中中断函数的地址是由编译器来分配的&#xff0c;是不固定的。但中断的跳转&#xff0c;由于硬件的限制&#xff0c;只能跳…

HTML+CSS+JS:焦点轮播

效果演示 实现了一个简单的图片展示和交互效果&#xff0c;用户可以点击不同的图片进行查看&#xff0c;并且会有视觉反馈。 Code <div class"container"><div class"bigbox"></div><div class"list"><ul><li…

C#,二叉搜索树(Binary Search Tree)的迭代方法与源代码

1 二叉搜索树 二叉搜索树&#xff08;BST&#xff0c;Binary Search Tree&#xff09;又称二叉查找树或二叉排序树。 一棵二叉搜索树是以二叉树来组织的&#xff0c;可以使用一个链表数据结构来表示&#xff0c;其中每一个结点就是一个对象。 一般地&#xff0c;除了key和位置…