ubuntu / windows QScintilla下载与编译

基于Qt与QScintilla在Linux上构建高性能代码编辑器的实践指南 代码编辑器是软件开发的核心工具,其本质是一个处理文本输入、解析与渲染的复杂应用。其工作原理涉及词法分析、语法高亮、缓冲区管理等底层技术,旨在提升开发者的编码效率与体验。在跨平台桌面应用开发领域,Qt框架因其成熟的C++生态与丰富的UI组件,成为构建高性能原生应用的重要选择。结合QScintilla这一强大的文本编辑组件,开发者可以快速实现语法高亮、代码折叠、自动补全等核心功能,从而将技术价值聚焦于定制化工作流与深度集成。这一技术组合特别适用于对启动速度、内存占用及底层控制有极致要求的场景,例如为特定团队或老 阅读详情

大家好,我又回来了~~

之前和大家分享的是在c/c++中通过python c api嵌入python解释器,主体都是和python相关的。其实最终要和大家分享的是如何做一个python编辑器。比如支持语法高亮、关键字自动补全,显示行号等功能。所以这次和大家一起学习的是一个Qt下的源代码编辑器控件。相信有的同志已经猜出来了。对,就是它。

Scintilla是以C++编写的自由开源程序库,它提供文本编辑器程序的各种功能,特别是适用于源代码编辑器的高级功能。

 

而QScintilla则是Scintilla 在Qt上的移植。QScintilla是Scintilla编辑组件Qt的一个端口。 除了标准文本编辑组件中的功能外,QScintilla还包含在编辑和调试源代码时特别有用的功能。 这些包括对语法样式,错误指示器,代码完成和调用提示的支持。 选择边距可以包含调试器中用于指示断点和当前行的标记。 样式选择比许多编辑器更开放,允许使用比例字体,粗体和斜体,多种前景色和背景色以及多种字体。

 

先贴一个源码包下载地址:

https://riverbankcomputing.com/software/qscintilla/download

 

我的平台是ubuntu 14.04,Qt5.

下面是下载解压好的文件夹列表:

 

 

红色数字1是移植后的Qt源码工程,编译通过后会生成对应的连接库。

红色数字2是在Qt下的一个编辑器的小Demo,之后会以example-Qt4Qt5为例演示。

 

第一部分:编译源码生成共享库

接下来用Qt Creator 打开1,生成ubuntu下的共享库。可能是我虚拟机不大行,编译了将近5分钟~ ~ ~打开后可以简单看看,那么多源文件,辛苦作者了,向他们致敬!致敬这种开源精神!由于目标文件是生成共享库,所以编译完成后Qt Creator 会弹出下面的弹窗:

 

没有可执行程序,直接点Cancel按钮取消即可。Qt编译后的文件夹下有很多中间文件以及其他文件,对于我们来讲,有用的则是图中生成的共享库。接下来是example-Qt4Qt5的跑通。

 

 

 

第二部分:链接共享库,运行例子

有了共享库后,我们链接动态库,运行例子。我的是Qt5 的版本,无法直接运行,需要做些改动。

①链接共享库库

需要包含库的头文件,链接共享库。

 

链接共享库是数字3部分的代码。Lib文件夹的目录如下图。

 

 

②修改.pro编译工程

由于Qt5对Qt4的不兼容,需要添加以下语句。

greaterThan(QT_MAJOR_VERSION,4):QT+=widgets

 

当程序中需要添加widgets模块,

这行代码的意思是,如果QT主版本大于4(也就是说当前使用的是Qt5或者更高版本),则需要添加widgets模块。

也可以直接用“QT+=widgets”,但这样可以保持与QT4的兼容性

 

 

由于代码中使用了c++11标准,我们需要在在工程中配置C++11。

否则汇会报以下的错误!这是 C++11中的新语法!

 

 

O的K,现在就不会有错误了,全力运行!!叮咚~~

成功结果如下!

 


Windows 下编译时需配置 c++11即可


一个简易的文本编辑器就诞生了~ 耶!!!

 

欢迎大家关注公众号。

QGIS编译(跨平台编译)之五十六:QScintilla编译、QScintilla安装(Windows、Linux、MacOS环境下编译、安装) QGIS编译;QScintilla编译、QScintilla安装(Windows、Linux、MacOS环境下编译、安装) 阅读详情

相关推荐

QScintilla-src-2.13.1-debug.zip

QScintilla_src-2.13.1-debug,笔者在Windows 10 系统下,使用Visual Studio 2017编译好的二进制开发包,debug版本,方便大家下载使用

Qt编译QScintilla(C++版)过程记录

Qt编译QScintilla [C++版] 过程记录一、编译环境二、下载链接三、目录说明四、编译&安装库一、编译二、安装五、运行实例 本文是编译该 QScintilla 组件库供 QtCreater 开发 C++ 桌面软件 流程记录 一、编译环境 系统: Windows 10 Qt:Qt 5.14.2 编译套件:MinGW 32 Qscintilla:QScintilla_src-2.13.1 二、下载链接 网站链接:https://www.riverbankcomputing.com/so

洪源兄 4620

QScintilla_gpl-2.9.3.zip

QScintilla_gpl-2.9.3支持VS2013编译,如果QScintilla_gpl版本太高,里面会有语法涉及到c++11。但是好像vs2015以前的编译器都不支持c++11,所以选择QScintilla_gpl时要注意版本。该库已经编译好,可以直接将里面的库文件按照帮助文档拷贝到自己的qt里,直接应用。当然我是用VS2013+Qt5.6.2编译的。

QScintilla下载链接

QScintilla下载链接 https://riverbankcomputing.com/software/qscintilla/download

WMT1520的博客 486

基于Qt的QScintilla代码编辑器:功能丰富、高度可定制的开发工具

内容概要:本文介绍了基于Qt的QScintilla代码编辑器的功能特点及其应用场景。QScintilla是一款功能强大且高度可定制的文本编辑器组件,适用于多种编程语言。它不仅支持常见的代码编辑功能(如代码高亮、自动补全、断点调试等),还提供了丰富的自定义选项,如自定义快捷键、皮肤、高亮规则等。此外,QScintilla还支持五种预设配色方案,以及一系列高级功能,如代码折叠、书签管理、列选和多选等。文中详细列举了QScintilla的各项功能,并强调了其灵活性和易用性。 适合人群:无论是初学者还是资深开发者,这款编辑器都能为他们提供高效的编码体验。 使用场景及目标:适用于各类编程任务,特别是那些需要频繁切换编程语言或对编辑器有较高定制需求的项目。目标是提升开发效率,改善代码质量和可读性。 其他说明:文章最后提到,针对此编辑器的技术支持和服务是有偿提供的,涵盖开发和移植等方面的支持。

QScintilla-src-2.13.1-release.zip

QScintilla_src-2.13.1-Release,笔者在Windows 10 系统下,使用Visual Studio 2017编译好的二进制开发包,Release版本,方便大家下载使用

scintilla下载地址及scintilla文档教程

Scintilla是一个免费、跨平台的编辑控件,QScintilla是Scintilla在Qt上的移植。 1.获取QScintilla QScintilla下载地址:https://riverbankcomputing.com/software/qscintilla/download(含在线和离线文档) 建议下载2.10.8,支持字体缩放,支持MSVC和MinGW编译器编译。 2.获取...

Johnable的博客 1653

用ESP32-S3+OV2640摄像头+ILI9488屏,DIY一个能联网的智能猫眼(附完整代码)

本文详细介绍了如何利用ESP32-S3微控制器搭配OV2640摄像头和ILI9488显示屏,DIY一个功能强大的智能猫眼系统。从硬件选型、电路设计到软件开发,提供了完整的解决方案和优化技巧,包括图像采集显示、WiFi远程访问及低功耗设计,适合智能家居爱好者动手实践。

weixin_30897233的博客 501

从源码编译PyMOL全攻略:依赖配置、CMake构建与错误排查

在结构生物学、药物设计与分子模拟领域,PyMOL是无可替代的开源可视化工具。其底层由C++渲染引擎与Python API构成,通过CMake统一管理构建过程。编译安装这一经典开源软件,不仅关系到核心渲染、表面计算、密度图显示等功能的完整性,还直接影响后续插件开发与自动化脚本的扩展能力。从环境依赖的精确匹配,到结合Python解释器与Qt图形界面的构建流程,再到QScintilla、OpenGL头文件缺失等高频报错的解决方案,每一步都遵循“核心层-绑定层-前端层”的工程化思路。本文面向科研与工程实践场景,梳理

weixin_33898876的博客 306

手把手教你用TUSB2E22中继器实现eUSB2与USB 2.0互转(附实测数据对比)

本文详细介绍了如何利用TUSB2E22中继器实现eUSB2与USB 2.0的高效互转,包括技术背景、硬件设计要点、信号完整性测试方法及故障排查策略。通过实测数据对比,展示了TUSB2E22在信号延迟、功耗和眼图性能上的显著优势,为工程师提供了实用的工程方案。

weixin_29199873的博客 283

嵌入式人工智能(18-基于树莓派4B的继电器JQC-3FF-S-Z)

本次实验的输出端控制不会接强电,就用LED灯来模拟即可,由于我那个流水灯模块是低电平点亮,所以接线稍有不同,同学们注意。只有继电器吸合,输出端的NO与COM就导通,给LED低电平然后就亮,否则继电器断开,NO与COM不导通,LED不亮。原理都一样,控制电流的接通与断开,这个模块看起来还简单点,毕竟还有2个指示灯,下端IN如接上电源红灯亮,继电器动作有电流通过绿灯亮。在实际应用中,可以通过编程控制继电器的通断状态,例如在Python编程中设置继电器模块的通断时间,从而实现自动化控制。

u010152658的博客 2531

ubuntu下python环境_Ubuntu16.04下搭建python开发环境

简述原来在windows下实现的python code,因为业务需要,要将其放到Ubuntu(其实是Linux)下来进行开发和demo。因此安装了目前最新的Ubuntu16.04 64bit系统,并搭建带有GUI的python开发环境。环境与工具选择最终确认选择“Ubuntu16.04(64 bit)+ Python3.5 + Qt5.7.0 + SIP4.18.1 + PyQt5.7 + QSc...

weixin_35653388的博客 604

FUXA实战:5步搞定基于Web的SCADA系统搭建(含Node.js版本避坑指南)

本文提供了一份基于开源工具FUXA搭建Web版SCADA系统的实战指南。文章重点解析了从环境准备到生产部署的五个核心步骤,并特别强调了Node.js版本选择对西门子S7 PLC通信兼容性的关键影响,帮助开发者避开常见陷阱,快速构建工业监控界面。

weixin_29172963的博客 140

Cursor 试用重置教程:3 步免重装找回免费额度

当你正准备让 Cursor 帮忙重构代码,屏幕上却跳出 “Too many free trial accounts used on this machine” 的提示,这种无奈应该不少人体会过。开源项目 go-cursor-help 干的就是这一件事:不用重装,帮你的机器做一次 Cursor 试用重置,把 Cursor 用来计数试用的设备身份换掉,让免费额度重新可用。 重装软件或者换机器,折腾不

gitblog_00923的博客 1095

MATLAB实战:从零推导合成孔径雷达(SAR)后向投影(BP)算法核心公式与代码实现

本文详细介绍了如何使用MATLAB从零推导合成孔径雷达(SAR)后向投影(BP)算法的核心公式与代码实现。通过基础概念讲解、数学原理推导、距离维脉冲压缩实现及完整MATLAB代码展示,帮助读者掌握SAR成像的关键技术。特别针对BP算法的优化技巧和常见问题提供了实用解决方案,适合雷达信号处理领域的开发者和研究者参考。

weixin_28683689的博客 251

【教程4>第6章>第26节】基于FPGA的MMSE信道估计与均衡系统实现与整体测试,并对比LS信道估计

通过前面几个章节的学习,我们完成了MMSE信道估计和均衡系统。为了进一步验证MMSE信道估计的性能,我们在系统的最后,增加一个信道估计误差计算程序。由于MMSE信道估计,其主要优势在SNR较小时提现,因此测试对比时,我们在testbench中,将SNR设置为2db。然后m值,我们不考虑一个固定值,而是一直累加,直到所设置的仿真时间结束。通过对比可以看到,MMSE信道估计性能优于LS信道估计。这样方便FPGA中的误差计算。

FPGA/MATLAB学习教程/源码/项目合作开发 1600

Notepad--跨平台文本编辑器:从国产替代到高效开发的终极指南

在众多文本编辑器的竞争中,一款由中国开发者打造的跨平台编辑器正悄然崛起。Notepad--不仅支持Windows、Linux和Mac三大操作系统,更在中文优化和国产信创生态方面展现出独特优势。本文将深入解析这款编辑器的核心技术特性,并提供从基础配置到高级开发的完整实践指南。 ## 技术架构深度解析:跨平台设计的智慧 Notepad--基于Qt框架构建,这一选择确保了其在Windows、Linu

gitblog_01113的博客 362

2025届程序技术类笔试题

希尔排序在直接插入排序的基础上进行了改进,它通过比较相距一定间隔的元素来进行,各轮比较所用的距离随着算法的进行而减小,直到只比较相邻元素的最后一轮排序为止。某人逆着水流的方向向岸边划船,每次行进前进x米后需要休息一下,休息期间船会自行倒退y米,每次休息后再次行进,前进距离缩短1/5,若起始距离岸边为m米,问:能否到达岸上,需要行进多少次才能上岸。直接插入排序的原理是将第i个元素插入前面i-1个已排好序的记录中,将比第i个元素大的记录依次向后移动一个位置,将第i个元素插入空位。第二轮相邻比较,后移2次。

博客 595

三个平台一套手感:跨平台文本编辑器 Notepad-- 从安装到上手的实战笔记

做开发最烦的不是代码本身,而是换了一台电脑,编辑器也跟着"换血"。Notepad-- 是一款国产开源的跨平台文本编辑器,Windows、Linux、macOS 三端通用,在信创 UOS 等国产环境里也能顺畅运行,项目目标直白——"做中国人自己的编辑器"。下面这份实战笔记不堆功能清单,而是顺着一条真实的日常使用路径,带你从安装一路用到顺手。 ## 从"换电脑就换编辑器"的尴尬说起 先讲个再常见不

gitblog_00800的博客 948

手把手教你学Simulink--电动物流车预充电路控制及主继电器粘连检测电机负载仿真

摘要:本文基于Simulink仿真平台,研究了电动物流车预充电路控制策略及主继电器粘连检测技术。通过构建预充电路、主继电器检测及电机负载模型,分析了不同工况下的系统特性。研究表明,优化的预充控制策略可缩短预充时间至0.5秒内,降低电流峰值;主继电器粘连检测模型能准确识别故障;电机负载变化对系统性能具有显著影响。仿真结果验证了所提方法的有效性,为提升电动物流车安全性与可靠性提供了理论支持和技术参考。

MHD0815的博客 62

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Notepad--深度解析:国产跨平台文本编辑器的10个专业级使用技巧

Notepad--是一款由中国开发者打造的跨平台文本编辑器,支持Windows、Linux和macOS三大操作系统。作为国产软件的优秀代表,它致力于提供轻量高效、功能全面的文本编辑体验,特别适合中文用户和技术开发者使用。这款文本编辑器不仅解决了跨平台兼容性问题,还对中文编码提供了完美支持,让国内用户能够享受到更加便捷的编辑体验。 ## 🚀 项目架构与技术实现深度剖析 ### 核心技术栈与架构

gitblog_00638的博客 378

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

国产跨平台文本编辑器Notepad--:为何它正成为开发者的新宠?

在当今的开发工具市场中,寻找一款既轻量又功能全面的文本编辑器总是一个挑战。当你需要在Windows、Linux和macOS之间无缝切换工作时,这个问题变得更加突出。Notepad--应运而生,这款由国人开发的跨平台文本编辑器正以其独特的定位和强大的功能赢得越来越多开发者的青睐。 ## 从"痛点"到"爽点":Notepad--如何解决跨平台开发困境 作为一名开发者,你是否经历过这样的场景?在Wi

gitblog_00573的博客 729

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

深度解析跨平台串口调试工具SerialTool:高效通信与可视化调试实战指南

在嵌入式开发、工业自动化、物联网设备调试等领域,串口通信调试是不可或缺的核心环节。SerialTool作为一款开源的跨平台串口/网络调试工具,凭借其稳定可靠的通信能力、强大的可视化功能和灵活的扩展架构,成为众多开发者的首选调试利器。本文将从技术架构、实战配置、高级应用和生态整合四个维度,全面解析SerialTool的核心优势与最佳实践。 ## 🔧 技术架构深度剖析:模块化设计的通信调试平台

gitblog_00156的博客 614

如何用Notepad--在5分钟内开启高效跨平台文本编辑之旅

在当今多平台开发环境中,寻找一款既轻量又功能全面的文本编辑器是每个开发者和内容创作者的共同需求。Notepad--作为一款由中国开发者打造的跨平台开源文本编辑器,完美支持Windows、Linux和macOS三大操作系统,为不同平台用户提供了一致的编辑体验。这款编辑器不仅继承了传统文本编辑器的简洁特性,还融入了现代开发工具的高效功能,成为国产软件替代方案中的亮眼选择。 ## 🚀 Notepad

gitblog_00475的博客 490

Notepad--跨平台编辑器:如何快速掌握国产文本编辑器的核心功能

Notepad--是一款由中国开发者打造的跨平台文本编辑器,支持Windows、Linux和macOS三大操作系统。作为国产软件的可替代方案,它不仅提供了强大的代码编辑功能,还集成了Markdown预览、多标签页管理等实用特性,是技术文档编写和日常编程工作的得力助手。 Notepad--编辑器多标签页界面 *Notepad--编辑器界面展示多标签页和代码编辑功能* ## 为什么选择Notepa

gitblog_00074的博客 364

Linux下C语言开发入门:从GCC编译到Makefile构建全解析

在软件开发领域,编译是将高级语言代码转换为机器可执行指令的核心过程。其基本原理涉及预处理、编译、汇编和链接四个关键阶段,每个阶段都承担着特定的代码转换任务。这一技术价值在于,它不仅是程序运行的必经之路,更是理解计算机系统工作原理、进行性能优化和跨平台开发的基础。在Linux环境下,GCC作为标准的编译器工具链,广泛应用于C/C++项目的构建。通过掌握GCC的基本用法,开发者可以深入理解编译链路,为后续使用Makefile自动化构建、处理多文件项目以及解决常见的编译错误(如隐式函数声明或动态链接库缺失)奠定坚

weixin_34198881的博客 308
上一篇: 扩展和嵌入python之重定向输出与编译
下一篇: qt读取U盘文件
Pou光明
博客等级 码龄12年 3701粉丝 398原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值