我现在要做的只是将我的.qrc图片显示给我的场景,但是我的程序出了问题。我已经检查了我的路径,应该没问题。 提前感谢您的大力帮助!
我的照片放在名为" img"的文件夹中。在我的项目下。(通过右键单击main.cpp并选择"显示包含文件夹"来创建img文件夹;)
它显示 [qrc_myresources.cpp]错误1 ,因为我运行它,这让我很困惑。我已经搜索了堆栈溢出但没有找到解决方案。
编译输出:
00:30:13:项目拍摄的步骤...... 00:30:13:配置不变,跳过qmake步骤。 00:30:13:开始:" / usr / bin / make" /home/pd2vm/Qt5.9.2/5.9.2/gcc_64/bin/rcc -name myresources ../shoot/myresources.qrc -o qrc_myresources.cpp RCC解析错误:' ../ shoot / myresources.qrc'行:10列:6 [预期标签] Makefile:597:目标配方&q; qrc_myresources.cpp'失败 make:*** [qrc_myresources.cpp]错误1 00:30:13:流程" / usr / bin / make"退出代码2。 构建/部署项目拍摄时出错(套件:Desktop Qt 5.9.2 GCC 64bit) 执行步骤" Make" 00:30:13:经过的时间:00:00。
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QGraphicsScene>
#include <QGraphicsPixmapItem>
#include <QTimer>
#include <QKeyEvent>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
public slots:
virtual void keyPressEvent(QKeyEvent *e);
private:
Ui::MainWindow *ui;
QGraphicsScene *scene;
QGraphicsPixmapItem *player;
QTimer *timer;
};
#endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow),
timer(new QTimer)
{
QGraphicsScene * scene = new QGraphicsScene(0,0,1200,880);
ui->setupUi(this);
ui->graphicsView->setScene(scene);
//player
player = new QGraphicsPixmapItem(QPixmap(":/img/whitedog.png"));
scene->addItem(player);
player->setPos(600, 880);
timer->start(10);
}
MainWindow::~MainWindow()
{
delete ui;
}
的main.cpp
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
myresources.qrc
<RCC>
<qresource prefix="/">
<file>img/whitedog.png</file>
</qresource>
<RCC/>
答案 0 :(得分:0)
我对Qt了解不多,但看起来像xml,所以不应该在结束标记名称之前删除斜杠。像这样:
<RCC>
...
</RCC>
很抱歉,如果那不是解决方案。只是我注意到的第一件事。