一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 897|回复: 9
收起左侧

[学C/C++] 有大神会C++编写QT程序吗?

[复制链接] |试试Instant~ |关注本帖
gougou9903 发表于 2014-4-19 16:08:16 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
RT, QT这个软件貌似用的人不多。。最近做个东西卡住了,百思不得其解啊:我在场景中添加了很多个可移动的图形项(items),怎么保存每个项的位置呢,以至于重新打开时可以显示这些图形项。  求教大神!!!感激不尽!!!!
panzerkorps 发表于 2014-4-19 19:55:27 | 显示全部楼层
把位置写到一个文件里. 启动的时候读取文件里的位置. 用这些位置创建图像项.
不知道LZ是不是这个意思.
回复 支持 反对

使用道具 举报

 楼主| gougou9903 发表于 2014-4-19 20:45:37 | 显示全部楼层

这个方法貌似是可行的,我打算用数据库来存储坐标位置。但是问题在于,我用QGraphicsScene::addItem()这个函数将很多图形项加到了场景里面,就相当于百度地图里面增加地图标记那样,这些图形项添加到场景里后貌似就没法单个的进行管理了。。也就没法获取每个项的坐标了。。

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

panzerkorps 发表于 2014-4-19 20:54:16 | 显示全部楼层
可不可以用map之类的结构把图形项的ID和对应的指针保存起来...或者继承一下item类,加一个用于区别item的字符串或者ID之类的..

我也没怎么用过QT..瞎说一下看法..

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

小时候可帅哝 发表于 2014-4-20 07:34:18 | 显示全部楼层
你给的信息太少了吧。 你的场景指的是QGraphicscene, 还是单纯的自定义QWidget里面套Item。
用的是QWidget还是QML来表示。
我想你表述的关闭再打开,不可能把这个item destroy掉吧。 你是选择hide这样还是destory然后重建。
你看API里面都有提供很多的处理方式比如hide   或者,你可以保留pointer, 利用signal/slot的方式处理

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| gougou9903 发表于 2014-4-20 09:22:18 | 显示全部楼层
小时候可帅哝 发表于 2014-4-20 07:34
你给的信息太少了吧。 你的场景指的是QGraphicscene, 还是单纯的自定义QWidget里面套Item。
用的是QWidge ...

我是在一个QWidget里面添加了一个QGraphicscene(一个地图),其实就是像百度地图那样的功能。然后可以向这个地图里面添加标记,这个标记就是QGraphicsItem。就是关闭了这个Widget以后,这些项的信息无法保存。  现在想出一种可行方法,就是使用配置文件(txt), 重新写关闭函数,是用QDataStream把项的位置信息放到配置文件中。。。。但是这个方法还要用到链表的知识来统一管理那些图形项,不知道可不可行?
回复 支持 反对

使用道具 举报

小时候可帅哝 发表于 2014-4-20 09:50:59 | 显示全部楼层
gougou9903 发表于 2014-4-20 09:22
我是在一个QWidget里面添加了一个QGraphicscene(一个地图),其实就是像百度地图那样的功能。然后可以向这 ...

所以就是说,你的这些关闭了的item以后还是要alive的?
那么你完全就可以用那个QGraphicsItem里面native的call,比如hide就像是我之前说的。 那么你的这个pointer没有被destroy掉。。你可以通过另外的signal来激活。让他出现。就是如果你的item过多。 容易导致mem过大。 以及必要的delete以避免leak. . 你看native的API.
https://qt-project.org/doc/qt-5/QGraphicsItem.html

----
如果没有你想要的API call。 你可以写一个costumItem继承这个QGraphicsItem, 然后写对应的函数
回复 支持 反对

使用道具 举报

 楼主| gougou9903 发表于 2014-4-20 11:39:31 | 显示全部楼层
小时候可帅哝 发表于 2014-4-20 09:50
所以就是说,你的这些关闭了的item以后还是要alive的?
那么你完全就可以用那个QGraphicsItem里面native ...

恩好的,你说的有些内容我还没了解过,我再去研究研究,thanks~~
回复 支持 反对

使用道具 举报

nicolas10 发表于 2014-5-3 20:38:19 | 显示全部楼层
对qt图形的编程不熟,不过好像都是可以在一个专门的界面文件中控制的吧,类似C#里那种用一个专门的前端文件控制界面。
回复 支持 反对

使用道具 举报

 楼主| gougou9903 发表于 2014-5-3 21:09:50 | 显示全部楼层
nicolas10 发表于 2014-5-3 20:38
对qt图形的编程不熟,不过好像都是可以在一个专门的界面文件中控制的吧,类似C#里那种用一个专门的前端文件 ...

谢谢!已经搞定了!
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-5 08:38

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表