Qt解决资源文件中添加图片,对应控件不显示图片的问题

     //资源文件——为控件添加图标
     //:/new/prefix1/image/mr.jpg
     QPixmap pic;  //定义一个图片对象
     pic.load(":/new/prefix1/a.jpg"); //给图片对象加载图片
     //openaction:菜单项
     saveaction->setIcon(QIcon(pic));

Qt中添加资源文件中的图片部分,图片无法正常显示,如图所示,save按钮应该正常显示图片

在这里插入图片描述
此时需要做如下操作:
菜单栏->构建->qmake一下,如图所示:
在这里插入图片描述
再次运行,控件显示图标,🆗~~
在这里插入图片描述
Qt代码

#include "mainwindow.h"
#include<QMenuBar>  //菜单栏头文件
#include<QMenu>
#include<QAction>
#include<QToolBar>   //工具栏头文件
#include<QStatusBar> //状态栏头文件
#include<QLabel>
#include<QDockWidget>
#include<QTextEdit>
#include<QPixmap>

#pragma execution_character_set("utf-8")

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    this->resize(600,400);
    //取出菜单栏
     QMenuBar *menubar1=this->menuBar();
    //向菜单栏添加菜单  *filemenu、 *fileedit获取两个菜单的地址
     QMenu *filemenu=menubar1->addMenu("files");
     menubar1->addSeparator();
     QMenu *fileedit=menubar1->addMenu("edit");
     //向菜单添加菜单项
     QAction *openaction=filemenu->addAction("open");
     //菜单项之间的分割线
     filemenu->addSeparator();
     QAction *saveaction=filemenu->addAction("save");

     //获取工具栏
     QToolBar *toolbar= this->addToolBar("");
     //向工具栏中添加工具(添加菜单项)
     toolbar->addAction(openaction);
     toolbar->addAction(saveaction);

     //获取状态栏
     QStatusBar*status=this->statusBar();
     //向状态栏添加控件QLabel
     status->addWidget(new QLabel("label"));

     //创建铆接部件1
     QDockWidget *dockwidget1=new QDockWidget("浮动窗口1",this);
     //将浮动窗口添加到mainwindow中
     dockwidget1->resize(30,20);
     this->addDockWidget(Qt::LeftDockWidgetArea,dockwidget1);

     //创建铆接部件2
     QDockWidget *dockwidget2=new QDockWidget("浮动窗口2",this);
     //将浮动窗口添加到mainwindow中
     dockwidget2->resize(30,20);
     this->addDockWidget(Qt::RightDockWidgetArea,dockwidget2);

     //创建铆接部件3
     QDockWidget *dockwidget3=new QDockWidget("浮动窗口3",this);
     //将浮动窗口添加到mainwindow中
     dockwidget3->resize(30,20);
     this->addDockWidget(Qt::TopDockWidgetArea,dockwidget3);

     //创建铆接部件4
     QDockWidget *dockwidget4=new QDockWidget("浮动窗口4",this);
     //将浮动窗口添加到mainwindow中
     dockwidget4->resize(30,20);
     this->addDockWidget(Qt::BottomDockWidgetArea,dockwidget4);

     QTextEdit *edit=new QTextEdit("文本编辑器",this);  //this:指定父对象
     //设置中心控件
     this->setCentralWidget(edit);

     //资源文件——为控件添加图标
     //:/new/prefix1/image/mr.jpg
     QPixmap pic;  //定义一个图片对象
     pic.load(":/new/prefix1/a.jpg"); //给图片对象加载图片
     //openaction:菜单项
     saveaction->setIcon(QIcon(pic));
}

MainWindow::~MainWindow()
{
}

🆗,感谢阅读~~

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页