gtk 绘图区不重绘内容
Posted
技术标签:
【中文标题】gtk 绘图区不重绘内容【英文标题】:gtk drawing area does not redraw content 【发布时间】:2020-03-21 19:28:22 【问题描述】:我使用的是 Ubuntu 19.10 64 位系统
源文件:
https://drive.google.com/open?id=1I4ejOHNXqbAOkTbIyJR0lvldsAwiPPqI
问题:
我正在使用 gtk 和 glade 和 c 编写一个简单的绘图程序。现在我坚持实施撤消行为。我有两个问题。当我按下撤消按钮时,有些情况。
1) 当我在画布上画一个笔画或一个点时,它就像我所经历的那样完美。画布会自行清除。
2) 当我在画布上有两个笔划或两个点时,如果我单击一次撤消,画布不会重新绘制自身,除非我再次绘制;如果我单击两次,它就像在第一种情况下一样完美,画布会清除。
3) 当我在画布上有两个以上的笔划或两个点时,如果我单击两次撤消,程序将停止工作,等待我强制退出。
我是使用 glade、gtk3 和 cairo 库的初学者。这几天我一直在寻找这个问题。但是,与趋势框架和库相比,资源稀缺。此外,我无法匹配我需要的问题。感谢您的帮助。
EDIT我忘了补充说在函数之后出现了停止问题,on_undo_clicked第二次退出(两次撤消点击)。
【问题讨论】:
【参考方案1】:我解决了这个问题。
函数中addPoint
我忘了next结构体指针的pre
指针可能是悬空指针。它会产生问题。
【讨论】:
以上是关于gtk 绘图区不重绘内容的主要内容,如果未能解决你的问题,请参考以下文章