嗯,我第一次使用QT。 我错过了一些框架或什么? 我正在使用这个教程https://youtu.be/8ntEQpg7gck?list=PLMgDVIa0Pg8WrI9WmZR09xAbfXyfkqKWy(或者它刚刚过时,我不知道)
代码:
#include <QApplication>
#include <QGraphicsScene>
#include <QGraphicsRectItem>
#include <QGraphicsView>
int main(int argc, char *argv[])
{
QApplication a(int argc, argv);
//Creating a scene
QGraphicsScene * scene = New QGraphicsScene();
//Create an item
QGraphicsRectItem * rect = New QGraphicsRectItem();
rect->setRect(0,0,100,100);
//Adding item into scene
scene->addItem(rect);
return a.exec();
}
错误:
C:\ Users \ Krzysztof \ Documents \ QT \ Gra \ Gra \ main.cpp:9:错误:C2061:语法错误:标识符&#39; argv&#39; C:\ Users \ Krzysztof \ Documents \ QT \ Gra \ Gra \ main.cpp:12:错误:C2065:&#39;新&#39;:未声明的标识符 C:\ Users \ Krzysztof \ Documents \ QT \ Gra \ Gra \ main.cpp:12:错误:C2146:语法错误:缺少&#39 ;;&#39;在标识符之前&#39; QGraphicsScene&#39; C:\ Users \ Krzysztof \ Documents \ QT \ Gra \ Gra \ main.cpp:15:错误:C2065:&#39;新&#39;:未声明的标识符 C:\ Users \ Krzysztof \ Documents \ QT \ Gra \ Gra \ main.cpp:15:错误:C2146:语法错误:缺少&#39 ;;&#39;在标识符之前&#39; QGraphicsRectItem&#39; C:\ Users \ Krzysztof \ Documents \ QT \ Gra \ Gra \ main.cpp:21:错误:C2228:左边的&#39; .exec&#39;必须有class / struct / union
答案 0 :(得分:2)
首先,考虑一下......
QApplication a(int argc, argv);
编译器会将其解析为函数声明,包括int argc,
。然后它会遇到令牌argv
,但会注意到argv
是变量而不是类型,因此会失败。
该行应该是......
QApplication a(argc, argv);
其次,New
- &gt; new
- C++
区分大小写。
答案 1 :(得分:0)
“新”应该是小写的。 C ++区分大小写。
除此之外,此代码不会在屏幕上显示任何内容:没有窗口,没有图形小部件。
我建议查看Qt文档和相关示例。