gpt4 book ai didi

c++ - Qt 5 的模型测试?

转载 作者:行者123 更新时间:2023-11-30 03:55:54 26 4
gpt4 key购买 nike

在过去 (Qt 4.8),我使用了 modeltest要测试的类 QAbstractItemModel实现。然而,Qt 5 似乎已经破坏了兼容性,因为在尝试开箱即用地编译它时会爆发大量错误,包括调用像 reset() 这样的函数。不再是 QAbstractItemModel 的成员.

有没有人知道更新的存储库,或者有没有人修复了modeltest自愿的?我专门使用 Qt 5.3.1。

错误:

C:\Documents\Visual Studio 2013\Projects\modeltest\dynamictreemodel.cpp(306): error C2039: 'reset' : is not a member of 'DynamicTreeModel'
1> c:\documents\visual studio 2013\projects\modeltest\dynamictreemodel.h(51) : see declaration of 'DynamicTreeModel'
1> modeltest.cpp
1>C:\Documents\Visual Studio 2013\Projects\modeltest\modeltest.cpp(419): error C2065: 'qVariantCanConvert' : undeclared identifier
1>C:\Documents\Visual Studio 2013\Projects\modeltest\modeltest.cpp(419): error C2275: 'QString' : illegal use of this type as an expression
1> C:\Qt\qt-5.3.1-x64-msvc2010-opengl\qt-5.3.1-x64-msvc2010-opengl\include\QtCore/qstring.h(213) : see declaration of 'QString'
1>C:\Documents\Visual Studio 2013\Projects\modeltest\modeltest.cpp(423): error C2065: 'qVariantCanConvert' : undeclared identifier
1>C:\Documents\Visual Studio 2013\Projects\modeltest\modeltest.cpp(423): error C2275: 'QString' : illegal use of this type as an expression
1> C:\Qt\qt-5.3.1-x64-msvc2010-opengl\qt-5.3.1-x64-msvc2010-opengl\include\QtCore/qstring.h(213) : see declaration of 'QString'
1>C:\Documents\Visual Studio 2013\Projects\modeltest\modeltest.cpp(427): error C2065: 'qVariantCanConvert' : undeclared identifier
1>C:\Documents\Visual Studio 2013\Projects\modeltest\modeltest.cpp(427): error C2275: 'QString' : illegal use of this type as an expression
1> C:\Qt\qt-5.3.1-x64-msvc2010-opengl\qt-5.3.1-x64-msvc2010-opengl\include\QtCore/qstring.h(213) : see declaration of 'QString'
1>C:\Documents\Visual Studio 2013\Projects\modeltest\modeltest.cpp(433): error C2065: 'qVariantCanConvert' : undeclared identifier
1>C:\Documents\Visual Studio 2013\Projects\modeltest\modeltest.cpp(433): error C2275: 'QSize' : illegal use of this type as an expression
1> C:\Qt\qt-5.3.1-x64-msvc2010-opengl\qt-5.3.1-x64-msvc2010-opengl\include\QtCore/qsize.h(51) : see declaration of 'QSize'
1>C:\Documents\Visual Studio 2013\Projects\modeltest\modeltest.cpp(439): error C2065: 'qVariantCanConvert' : undeclared identifier
1>C:\Documents\Visual Studio 2013\Projects\modeltest\modeltest.cpp(439): error C2275: 'QFont' : illegal use of this type as an expression
1> C:\Qt\qt-5.3.1-x64-msvc2010-opengl\qt-5.3.1-x64-msvc2010-opengl\include\QtGui/qfont.h(58) : see declaration of 'QFont'
1>C:\Documents\Visual Studio 2013\Projects\modeltest\modeltest.cpp(452): error C2065: 'qVariantCanConvert' : undeclared identifier
1>C:\Documents\Visual Studio 2013\Projects\modeltest\modeltest.cpp(452): error C2275: 'QColor' : illegal use of this type as an expression
1> C:\Qt\qt-5.3.1-x64-msvc2010-opengl\qt-5.3.1-x64-msvc2010-opengl\include\QtGui/qcolor.h(65) : see declaration of 'QColor'
1>C:\Documents\Visual Studio 2013\Projects\modeltest\modeltest.cpp(457): error C2065: 'qVariantCanConvert' : undeclared identifier
1>C:\Documents\Visual Studio 2013\Projects\modeltest\modeltest.cpp(457): error C2275: 'QColor' : illegal use of this type as an expression
1> C:\Qt\qt-5.3.1-x64-msvc2010-opengl\qt-5.3.1-x64-msvc2010-opengl\include\QtGui/qcolor.h(65) : see declaration of 'QColor'
1> tst_modeltest.cpp
1>C:\Documents\Visual Studio 2013\Projects\modeltest\tst_modeltest.cpp(114): error C2065: 'QTreeWidget' : undeclared identifier
1>C:\Documents\Visual Studio 2013\Projects\modeltest\tst_modeltest.cpp(114): error C2146: syntax error : missing ';' before identifier 'widget'
1>C:\Documents\Visual Studio 2013\Projects\modeltest\tst_modeltest.cpp(114): error C2065: 'widget' : undeclared identifier
1>C:\Documents\Visual Studio 2013\Projects\modeltest\tst_modeltest.cpp(116): error C2065: 'widget' : undeclared identifier
1>C:\Documents\Visual Studio 2013\Projects\modeltest\tst_modeltest.cpp(116): error C2228: left of '.model' must have class/struct/union
1> type is 'unknown-type'
1>C:\Documents\Visual Studio 2013\Projects\modeltest\tst_modeltest.cpp(116): error C2512: 'ModelTest' : no appropriate default constructor available
1>C:\Documents\Visual Studio 2013\Projects\modeltest\tst_modeltest.cpp(118): error C2065: 'QTreeWidgetItem' : undeclared identifier
1>C:\Documents\Visual Studio 2013\Projects\modeltest\tst_modeltest.cpp(118): error C2065: 'root' : undeclared identifier
1>C:\Documents\Visual Studio 2013\Projects\modeltest\tst_modeltest.cpp(118): error C2061: syntax error : identifier 'QTreeWidgetItem'
1>C:\Documents\Visual Studio 2013\Projects\modeltest\tst_modeltest.cpp(120): error C2061: syntax error : identifier 'QTreeWidgetItem'
1>C:\Documents\Visual Studio 2013\Projects\modeltest\tst_modeltest.cpp(122): error C2065: 'QTreeWidgetItem' : undeclared identifier
1>C:\Documents\Visual Studio 2013\Projects\modeltest\tst_modeltest.cpp(122): error C2065: 'root' : undeclared identifier
1>C:\Documents\Visual Studio 2013\Projects\modeltest\tst_modeltest.cpp(122): error C2227: left of '->child' must point to class/struct/union/generic type
1> type is 'unknown-type'
1>C:\Documents\Visual Studio 2013\Projects\modeltest\tst_modeltest.cpp(123): error C2065: 'root' : undeclared identifier
1>C:\Documents\Visual Studio 2013\Projects\modeltest\tst_modeltest.cpp(123): error C2227: left of '->removeChild' must point to class/struct/union/generic type
1> type is 'unknown-type'
1>C:\Documents\Visual Studio 2013\Projects\modeltest\tst_modeltest.cpp(124): error C2065: 'QTreeWidgetItem' : undeclared identifier
1>C:\Documents\Visual Studio 2013\Projects\modeltest\tst_modeltest.cpp(124): error C3867: 'QObject::parent': function call missing argument list; use '&QObject::parent' to create a pointer to member
1>C:\Documents\Visual Studio 2013\Projects\modeltest\tst_modeltest.cpp(124): error C2061: syntax error : identifier 'QTreeWidgetItem'
1>C:\Documents\Visual Studio 2013\Projects\modeltest\tst_modeltest.cpp(126): error C2065: 'widget' : undeclared identifier
1>C:\Documents\Visual Studio 2013\Projects\modeltest\tst_modeltest.cpp(126): error C2228: left of '.setItemHidden' must have class/struct/union
1> type is 'unknown-type'
1>C:\Documents\Visual Studio 2013\Projects\modeltest\tst_modeltest.cpp(126): error C3867: 'QObject::parent': function call missing argument list; use '&QObject::parent' to create a pointer to member
1>C:\Documents\Visual Studio 2013\Projects\modeltest\tst_modeltest.cpp(128): error C2065: 'widget' : undeclared identifier
1>C:\Documents\Visual Studio 2013\Projects\modeltest\tst_modeltest.cpp(128): error C2228: left of '.sortByColumn' must have class/struct/union

最佳答案

看来这可以通过几个简单的步骤来解决:

  1. reset() 错误正在测试一个已弃用的函数,可以将其注释掉。
  2. 可以按照建议 here on transitioning from Qt 4.8 to Qt 5 修复 qVariantCanConvert 错误
  3. 其余的错误可以通过确保包含所有适当的 header 来解决。

关于c++ - Qt 5 的模型测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28816080/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com