请注意:QT新手
我正在尝试使用setPixmap函数在qLabel上显示PNG。
注意:PNG尺寸<标签尺寸
在example之后,它应该显示图像,但我没有运气。
我尝试了很多例子,从使用QImage到使用GraphicsViews等。
我已经通过指定QPixmap pixmap("full_path_here")
中的完整路径来显示此图像,因此想要摆脱完整路径,尝试将此图像添加到资源填充,又称.qrc
但是下面的错误仍然存在,我不知道为什么。
错误:/opt/qt/Qt5.7.0/5.7/gcc_64/bin/rcc:-1: error: No input files specified.
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QPixmap mypix (":/back.png");
ui->label->setPixmap(mypix);
}
MainWindow::~MainWindow()
{
delete ui;
}
.qrc资源文件
<RCC>
<qresource prefix="/">
<file>back.png</file>
</qresource>
</RCC>
mainwindow.ui
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>90</x>
<y>20</y>
<width>131</width>
<height>121</height>
</rect>
</property>
<property name="text">
<string/>
</property>
</widget>
项目位置:
ll /home/cx/qt-projects/VPN/
total 48
drwxrwxr-x 1 cx cx 162 Oct 5 15:53 ./
drwxr-xr-x 1 cx cx 90 Oct 5 12:21 ../
-rw-rw-r-- 1 cx cx 1514 Oct 5 15:33 back.png
drwxrwxr-x 1 cx cx 108 Oct 5 12:12 .git/
-rw-rw-r-- 1 cx cx 172 Oct 5 10:41 main.cpp
-rw-rw-r-- 1 cx cx 393 Oct 5 15:53 mainwindow.cpp
-rw-rw-r-- 1 cx cx 399 Oct 5 15:25 mainwindow.h
-rw-rw-r-- 1 cx cx 3134 Oct 5 12:21 mainwindow.ui
drwxrwxr-x 1 cx cx 8 Oct 5 12:11 res/
-rw-rw-r-- 1 cx cx 400 Oct 5 12:12 VPN.pro
-rw-rw-r-- 1 cx cx 24064 Oct 5 12:35 VPN.pro.user
答案 0 :(得分:0)
尝试将qrc文件更改为:
<!DOCTYPE RCC>
<RCC version="1.0">
<qresource>
<file>back.png</file>
</qresource>
</RCC>
答案 1 :(得分:0)
add_n
文件中的文件路径必须可由RCC编译器在文件系统上找到。例如。例如,如果您的文件存在一个目录,那么您可以执行以下操作
.qrc
在您的示例中,RCC编译器正在<RCC>
<qresource>
<file>../back.png</file>
</qresource>
</RCC>
路径中查找文件,可能它不存在