【发布时间】:2018-05-30 16:55:12
【问题描述】:
我现在想做的只是将我的 .qrc 图片显示到我的场景中,但我的程序总是出错。我检查了我的路径,应该没问题。 提前感谢您的大力帮助!
我的图片放在我的项目下名为“img”的文件夹中。(img 文件夹是通过右键单击 main.cpp 并选择“显示包含文件夹”来新建的)
它在我运行时显示 [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:目标“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。
主窗口.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
主窗口.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();
}
我的资源.qrc
<RCC>
<qresource prefix="/">
<file>img/whitedog.png</file>
</qresource>
<RCC/>
【问题讨论】: