前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >QScintilla下载与编译

QScintilla下载与编译

作者头像
用户5908113
发布2019-07-30 15:03:12
1.8K0
发布2019-07-30 15:03:12
举报
文章被收录于专栏:Pou光明Pou光明

大家好,我又回来了~~

之前和大家分享的是在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,现在就不会有错误了,全力运行!!叮咚~~

成功结果如下!

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Pou光明 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档