![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
IDE
文章平均质量分 54
我是标同学
我非常喜欢编程
展开
-
qt collect2: error: ld returned 1 exit status(能解决)
这个错误是链接器 ld.exe 报出来的,说明是链接错误而不是编译的语法错误,而链接过程其实就是把这些xx.o文件给链接起来,形成统一的地址空间。然而这些xx.o文件可能有些损坏了,或者同名,或者其它啥啥啥的奇怪问题,导致链接会出错。为了让这些xx.o能够重新生成一次,我们去手动删除它们,就可以强制编译器再次生成它们了。去编译生成目标文件(就是指那行xx.o)的文件夹中把所有的xx.o文件全部手动删除即可,然后重新编译项目,一般就能解决。如果还是解决不了问题,那就百度搜一下其它答案吧。原创 2022-12-16 10:20:35 · 4734 阅读 · 0 评论 -
QsciScintilla编辑器从任意坐标拿到正确的行号
/核心就是这个函数,其实就是y坐标除以文本每行的高度,加上顶部行即可,也很简单的。然而,当鼠标位置为空行的位置,此时拿到的行号总是-1,这个是不符号我们期望的。如果我们追踪一下源码,可以发现Scitinall官方 Editor.cpp文件。说明这里的CLOSE表示是否。查看其源码发现,里面用的是。这个宏,其实需要换另一个宏。,或者用官方的话说是。原创 2022-12-15 10:44:12 · 569 阅读 · 0 评论 -
关于qt的拖拽事件原理
/我们的EditorsTabWidget父控件要想拿到这个事件,那么就让editor别处理这个事件就行(因为处理完后调用ignore函数没用),所以下面的代码就是如果拖拽数据是超链接,那么就不处理了,这个事件就会自动传给父控件了。//然而,拖拽事件会被阻止往父控件传递,即使调用了ignore函数,也传不到父控件了,但是别的类型事件就不是这样(比如键盘事件),估计是拖拽事件的特性吧。//其实editor本身也是需要处理拖拽事件的,比如选中一段文本,拖拽实现剪切或者复制功能,就是通过拖拽事件来实现的。原创 2022-12-11 21:16:52 · 665 阅读 · 0 评论 -
qsetting使用知识 qt程序名加空格 资源文件报错
QSetting 只需要 setValue 函数即可,会自动保存到ini文件内(虽然不是立刻保存进去),其实内部是通过syc()函数来保存进去的,就是一次性定时器到时间了触发这个函数保存一下。当然我们也可以直接调用这个函数,立刻保存进去。资源文件报错,一般是里面的某些文件无效了,比如被我们删除了啥的,这时候只需要去qtcreator里remove这些文件即可。qt程序名加空格,主要是在 TARGET = "xx xx” 这样的.pro文件中,加引号就可以了。原创 2022-12-08 18:38:14 · 438 阅读 · 0 评论 -
make.exe打印出一个变量和修改追加变量的方法
make(指的就是make.exe)是要操作makefile文件的,而操作makefile的时候,我们可以给它一些命令,更符合我们的操作方法。应该这样做,在makefile中写个伪目标showAllVar,伪目标的执行内容是 用。我们从这些选项可以看出, 没有可以打印出makefile中我们定义的变量的值的选项。来输出 变量var的值。要查找的文件时,使用的。原创 2022-11-18 12:55:09 · 819 阅读 · 0 评论 -
关于编辑器QScintilla(Scintilla)词法分析器工作原理的分析(实现注释区分)
的,而QScintilla也自己提供了类似的词法分析器类,但是这些类和Scintilla那边的词法分析器是没有什么关系的,调用不到Scintilla那边的词法分析里面的内容,只能是告诉QScintilla,现在我安装了一个xx词法分析器,此时QScintilla会告诉底层Scintilla那边,给。这里我举个例,比如识别一个注释,那么如果遇到 /* 就记录当前状态为注释开始状态,当遇到 */ 时候,就切换当前状态为其它状态了,识别其它标识符,大括号啥的,也是这样的过程。这里每个状态,会用函数 sc.原创 2022-11-17 14:24:45 · 2033 阅读 · 3 评论