找回密码
 立即注册
收起左侧
楼主: yafeilinux

第19篇 2D绘图(九)图形视图框架(上)

121
回复
91377
查看
  [复制链接]
累计签到:1568 天
连续签到:1 天
2014-2-20 09:34:48 显示全部楼层
yangyuer 发表于 2014-2-19 19:35
D:\qt\graph01\myitem.h:4: 错误GraphicsItem: No such file or directory
#include 。请问这是怎么回事 ...

你用的QT版本是Qt 5吗,如果是需要在.pro文件中添加QT += widgets
回复 支持 反对

使用道具 举报

尚未签到

2014-3-5 13:08:26 显示全部楼层
D:\Qtprojiect\qt34\graphicsView03\main.cpp:19: error: cannot allocate an object of abstract type 'MyItem'
       MyItem *item = new MyItem;
                          ^
D:\Qtprojiect\qt34\graphicsView03\myitem.h:8: note:   because the following virtual functions are pure within 'MyItem':
class MyItem:public QGraphicsItem
       ^
做自定义图形时候出现的,这是什么原因呢?yafei老师
回复 支持 反对

使用道具 举报

累计签到:1568 天
连续签到:1 天
2014-3-5 21:04:00 显示全部楼层
wangxiangjun88 发表于 2014-3-5 13:08
D:\Qtprojiect\qt34\graphicsView03\main.cpp:19: error: cannot allocate an object of abstract type 'My ...

你用的Qt 5对吧。为了避免一些小的问题影响学习,建议采用教程使用的Qt 4版本。

因为教程中的源码都是在Qt 4环境编写的,在Qt 5中有些兼容性不好。
回复 支持 反对

使用道具 举报

累计签到:11 天
连续签到:1 天
2014-3-8 17:38:17 显示全部楼层
楼主!我学到,二图形项,第一个,提示出错,编译不出来,错误提示是C:\Users\zhou\Desktop Myitem *item = new Myitem;这个 error: cannot allocate an object of abstract type 'Myitem',,,, note:   because the following virtual functions are pure within 'Myitem':,,,
回复 支持 反对

使用道具 举报

累计签到:1568 天
连续签到:1 天
2014-3-10 14:21:55 显示全部楼层
Masterzhoujun 发表于 2014-3-8 17:38
楼主!我学到,二图形项,第一个,提示出错,编译不出来,错误提示是 Myitem *item = new Myitem;这个 erro ...

下载源码测试看看。
回复 支持 反对

使用道具 举报

累计签到:18 天
连续签到:1 天
2014-3-14 14:44:11 显示全部楼层
感谢大神 只是不知道哪错了 编译不让通过
回复 支持 反对

使用道具 举报

累计签到:8 天
连续签到:1 天
2014-3-31 16:06:32 显示全部楼层
受不了了,太强大了!!!
回复 支持 反对

使用道具 举报

尚未签到

2014-4-17 16:15:23 显示全部楼层
cctry_songchao 发表于 2013-7-26 21:50
解决了,原因是我在新建MyItem类的时候我选择基类为QGraphicsItem,但是没有这个类,我自己写的,然后操作
...

具体怎么改的呢???????????????????????????????????????????????????????????
回复 支持 反对

使用道具 举报

尚未签到

2014-4-17 16:26:07 显示全部楼层
yafeilinux 发表于 2014-2-20 09:34
你用的QT版本是Qt 5吗,如果是需要在.pro文件中添加QT += widgets

嗯嗯,改正了,谢谢
D:\qt\paintlist02\myitem.cpp:6: 错误:no matching function for call to 'QGraphicsItem:GraphicsItem(QWidget*&)'
  QGraphicsItem
这个问题又是怎么回事呢?具体怎么改呢?
回复 支持 反对

使用道具 举报

累计签到:1568 天
连续签到:1 天
2014-4-20 22:44:07 显示全部楼层
yangyuer 发表于 2014-4-17 16:26
嗯嗯,改正了,谢谢
D:\qt\paintlist02\myitem.cpp:6: 错误:no matching function for call to 'QGraphic ...

这个应该是版本问题,因为这里的程序是在Qt 4.8上编译的。
回复 支持 反对

使用道具 举报

累计签到:7 天
连续签到:1 天
2014-6-27 20:22:08 显示全部楼层
为什么教程的效果图都消失了?
回复 支持 反对

使用道具 举报

累计签到:1568 天
连续签到:1 天
2014-7-2 23:04:08 显示全部楼层
卿可津 发表于 2014-6-27 20:22
为什么教程的效果图都消失了?

没有啊,可以看到的。
回复 支持 反对

使用道具 举报

累计签到:18 天
连续签到:1 天
2014-8-8 15:16:15 显示全部楼层
我用的是QT5,这句话编译不过
//我们通过类型转换来获得颜色
color =qVariantValue<QColor>(event->mimeData()->colorData());
错误:'qVariantValue' was not declared in this scope
错误:expected primary-expression before '>' token
回复 支持 反对

使用道具 举报

累计签到:1568 天
连续签到:1 天
2014-8-8 20:11:57 显示全部楼层
拖布鞋 发表于 2014-8-8 15:16
我用的是QT5,这句话编译不过
//我们通过类型转换来获得颜色
color =qVariantValue(event->mimeData()->co ...

试试这个:
QColor color = qvariant_cast<QColor>(event->mimeData()->colorData());
回复 支持 反对

使用道具 举报

累计签到:18 天
连续签到:1 天
2014-8-8 20:55:27 显示全部楼层
yafeilinux 发表于 2014-8-8 20:11
试试这个:
QColor color = qvariant_cast(event->mimeData()->colorData());

谢谢你,我试了下,问题解决了,最终是这个代码。请问这是什么原因呢?
color = qvariant_cast<QColor>(event->mimeData()->colorData());
回复 支持 反对

使用道具 举报

累计签到:1568 天
连续签到:1 天
2014-8-10 09:14:34 显示全部楼层
拖布鞋 发表于 2014-8-8 20:55
谢谢你,我试了下,问题解决了,最终是这个代码。请问这是什么原因呢?
color = qvariant_cast(event->m ...

版本问题,Qt 5中废弃了qVariantValue()。
回复 支持 反对

使用道具 举报

累计签到:6 天
连续签到:1 天
2014-10-6 14:56:09 显示全部楼层
非常感谢 正在寻找文档 视图框架的 代码
谢谢分享
回复 支持 反对

使用道具 举报

累计签到:56 天
连续签到:1 天
2015-2-10 14:11:24 显示全部楼层
ktz 发表于 2014-2-2 00:17
编译环境:win8 (32位) +Qt_4_8_1+2.4.1
使用论坛下载的graphicsView02的原程序编译都提示:
F:\C++devel ...

请问你这个问题解决了没?我xp系统也出现了
回复 支持 反对

使用道具 举报

累计签到:56 天
连续签到:1 天
2015-2-10 14:20:49 显示全部楼层
侠隐 发表于 2015-2-10 14:11
请问你这个问题解决了没?我xp系统也出现了

老师,我在添加菜单那里添加了QObject之后才出现了问题,查过之后说是里面的虚析构函数没有定义,但是QGraphicsItem也是虚析构函数,为什么就没问题呢?@yafeilinux  
回复 支持 0 反对 1

使用道具 举报

累计签到:1568 天
连续签到:1 天
2015-2-11 11:19:10 显示全部楼层
侠隐 发表于 2015-2-10 14:20
老师,我在添加菜单那里添加了QObject之后才出现了问题,查过之后说是里面的虚析构函数没有定义,但是QGra ...

我们要继承QGraphicsItem创建自己的item啊,QGraphicsItem是基类。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了