QT实现备注功能

zsb534923374 2018-02-28 10:29:16
我的QT界面是一个绘制面板,用来绘制一些图案,
现在想实现一个功能,右键可以插入一个图钉式的标记,弹个框输入一段文字或者保存一张图片
下次打开程序时,点击这个图钉,就会在相应位置显示出这段文字描述或者图片或者超链接等等


想实现这么样一个功能,求问有没有什么好的实现思路

我想着如果图钉是用按钮来实现,点击这个按钮会产生一个控件来显示保存的文字或图片信息
那么这个按钮和控件都是属于动态生成的,有没有好的思路来解决这一类问题

其实最后的功能有点想做成google erath那样,点击每一个地名,会出现一个标签页显示这个地名的详细信息等等。
求大神指导一下。
...全文
1790 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
是啊,写个类。 首先绘制的图要保存下次打开加载。 自己写个类,背景透明,包含一个用自绘或者图片的方式做成图钉,你可以多做几个状态的样式分别设定比如focus,disable,hover,press,比如平时是个点,focus多个圈,hover是个图钉,press颜色变深。 类里同时包含一个编辑框,两个或以上label,一个button,hover图钉的时候,一个label放图,move到图钉旁边合适位置,一个放文字。当右键选择编辑或者其他方式的时候可以显示编辑框和按钮,编辑框用来获取要在label上显示的文字,按钮用来获取图片路径(也可以用Qt的截图)。 当你在空白的地方右键添加图钉的时候可以通过鼠标事件获取这个位置,把图钉类创建在这里,通过自己设置图钉的大小来改变点击区域(我自己做的话可能在上面覆盖一层专门用来检测鼠标事件的透明层) 添加的时候同时在一个本地文件写信息,包括这个控件的位置,大小,文字,图片路径。我的话会选择json格式,可能是qml用习惯了。 下次打开的时候先加载保存的绘制图,然后读这个本地文件来创建就行。 我个人做法就是这样了,不知道大神都有什么好方法
彩阳 2018-03-13
  • 打赏
  • 举报
回复

是类似这样的效果吗?
Sky_陈少 2018-03-02
  • 打赏
  • 举报
回复
1.这个要自己最好写几个类来实现该功能。 2.其实你可以把该功能类比为在绘图面板上面绘制几何图形一样。 3.这个类实现的功能有,保存相应的文字信息/图片。绘制的时候绘制一个图钉,然后再绘制文字信息或者图片信息。绘制在最上层,这样就像是标记啦。 4.你可以写一些事件,点击的时候,例如点击在该标记上,有关闭和打开该标记内容。(你得为该类设置一个BoundingRect,这样你才好判断是否点击上) 5.至于怎样更像,怎样更有感觉就要看你的设计了。
zsb534923374 2018-02-28
  • 打赏
  • 举报
回复
我的理解时,这个功能有点像一个小插件,想独立于以前程序本身 最好是能做成以前程序加载我这个dll或者lib,打开一个功能,就可以在界面上进行此类备注型的操作

16,203

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧