• 8230阅读
  • 7回复

[提问]QDeclarativeView 继承问题 [复制链接]

上一主题 下一主题
离线snfx
 
只看楼主 倒序阅读 楼主  发表于: 2011-05-10
— 本帖被 XChinux 从 C/C++基础 移动到本区(2011-05-28) —
下面自定义类继承了QDeclarativeView 。不知道为什么就是无法实例化,默认的构造函数没有执行
但将QDeclarativeView 父类换成QObject 就正常

  1. CWindowFrame.h
  2. #include <QDeclarativeView>
  3. class CWindowFrame : public QDeclarativeView
  4. {
  5. Q_OBJECT
  6. public:
  7. explicit CWindowFrame(QWidget *parent = 0);
  8. };
  9. CWindowFrame.cpp
  10. CWindowFrame::CWindowFrame(QWidget *parent,Qt::WindowFlags flags)
  11. : QDeclarativeView(parent)
  12. {
  13. void main()
  14. {
  15. CWindowFrame* cf = new CWindowFrame(NULL); 卡在这。然后就提示崩溃信息。
  16. }


请高手指点~ 是QML工程的
离线wxj120bw

只看该作者 1楼 发表于: 2011-05-10
这个错误是编译出错的吗 出错的提示是什么?
离线snfx
只看该作者 2楼 发表于: 2011-05-10
提示这个错误· 压根就没具体提示原因。里面所指的文件只是记录了相关DLL版本信息。然后问是否要发给微软
离线cutemmll
只看该作者 3楼 发表于: 2011-05-10
你可以在debug模式下运行程序,看一下程序到底是Crash在哪个地方。

还有下面这段代码的main函数貌似不对,是你故意简写成这样的么?
  1. void main()
  2. {
  3. CWindowFrame* cf = new CWindowFrame(NULL); 卡在这。然后就提示崩溃信息。
  4. }
c------------enjoy qt & enjoy life-----------++
离线snfx
只看该作者 4楼 发表于: 2011-05-10
main函数不是重点~  我随便打的。
重点是 CWindowFrame* cf = new CWindowFrame(NULL);  无法通过。
DEBUG跟踪到QTGUI的汇编码出来,看不懂。
用的是VS2010 SP1 + QT 4.7.2 的环境
离线cutemmll
只看该作者 5楼 发表于: 2011-05-11
我工程是没有问题的。
pro文件
  1. #注意下面这一行中的declarative
  2. QT       += core gui declarative
  3. TARGET = testinner
  4. TEMPLATE = app
  5. SOURCES += main.cpp\
  6.         cwindowframe.cpp
  7. HEADERS  += cwindowframe.h

头文件
  1. #include <QWidget>
  2. #include <QtDeclarative> //注意头文件
  3. class CWindowFrame : public QDeclarativeView
  4. {
  5.     Q_OBJECT
  6. public:
  7.     explicit CWindowFrame(QWidget *parent = 0);
  8.     ~CWindowFrame();
  9. private:
  10. };


cpp
  1. #include "cwindowframe.h"
  2. CWindowFrame::CWindowFrame(QWidget *parent) :
  3.     QDeclarativeView(parent)
  4. {
  5. }
  6. CWindowFrame::~CWindowFrame()
  7. {
  8. }


请确认你的pro文件以及头文件是否于上面的代码保持一致。
我的环境是 vs2008 + qt 4.7.1
[ 此帖被cutemmll在2011-05-11 18:53重新编辑 ]
c------------enjoy qt & enjoy life-----------++
离线wxj120bw

只看该作者 6楼 发表于: 2011-05-12
引用第4楼snfx于2011-05-10 23:22发表的  :
main函数不是重点~  我随便打的。
重点是 CWindowFrame* cf = new CWindowFrame(NULL);  无法通过。
DEBUG跟踪到QTGUI的汇编码出来,看不懂。
用的是VS2010 SP1 + QT 4.7.2 的环境

我这里qt creator运行没有抱错 搂住还是端点调式下 看报那里的出错 除看汇编代码外 还要看调式中栈列表
离线snfx
只看该作者 7楼 发表于: 2011-05-20
解决了
快速回复
限100 字节
 
上一个 下一个