首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QIcon未在QToolBar中显示

QIcon未在QToolBar中显示
EN

Stack Overflow用户
提问于 2022-05-21 13:22:26
回答 1查看 62关注 0票数 1

我是Qt的初学者,目前正在阅读以下内容:https://zetcode.com/gui/qt5/menusandtoolbars/

当我在一个QActions中声明QToolBar时,QPixmap对象(转换为QIcons)没有显示:

没有图标,只有文本

但是,当我在没有工具栏的情况下声明一个QPixmap时,实际显示的是QMenu图像。

我正在使用Qt6;在Fedora上工作;编译器上没有显示警告。

simple_menu.hpp

代码语言:javascript
复制
#ifndef SIMPLE_MENU_HPP
#define SIMPLE_MENU_HPP

#include <QMainWindow>
#include <QApplication>

class SimpleMenu : public QMainWindow
{
    public:
    SimpleMenu(QWidget *parent = nullptr);
};

#endif

simple_menu.cpp

代码语言:javascript
复制
#include "simple_menu.hpp"

#include <QMenu>
#include <QMenuBar>
#include <QToolBar>
#include <QIcon>
#include <QAction>

SimpleMenu::SimpleMenu(QWidget *parent)
    : QMainWindow(parent) 
{
    QPixmap newpix("new.png");
    QPixmap openpix("open.png");

    QToolBar *toolbar = addToolBar("main toolbar");
    toolbar->addAction(QIcon(newpix), "New File");
    toolbar->addAction(QIcon(openpix), "Open File");
}

main.cpp

代码语言:javascript
复制
#include "simple_menu.hpp"

int main(int argc, char *argv[]) 
{
    QApplication app(argc, argv);

    SimpleMenu window;

    window.resize(350, 250);
    window.setWindowTitle("Tuto Toolbar");
    window.show();

    return app.exec();
}
EN

回答 1

Stack Overflow用户

发布于 2022-05-21 18:09:10

也许系统找不到你的照片。请尝试放置完整的文件路径(如:)。

代码语言:javascript
复制
QPixmap newpix("c:\mydoc\pictures\new.png");

要检查图片是否已加载,您可以做一些稍微不同的操作:

代码语言:javascript
复制
   QPixmap newpix;
   qDebug() << newpix.load("c:\mydoc\pictures\new.png"); 

如果加载失败,加载方法将返回true或false。

无论如何,如果要将图标嵌入到最终的EXE文件中,请检查Qt资源系统

它是一种方便的系统,可以实现您想要做的事情,并且避免处理本地驱动器上的存储路径。

祝你好运!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72329971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档