GtkStatusIcon不显示自定义图标

问题描述

我在Ubuntu 14.04上使用gtkmm,但在将我的自定义图标显示在系统托盘上时遇到了一些麻烦。

我正在使用GtkStatusIcon,并进行从文件到自定义图标的设置,该图标称为icon.png。添加调试语句时没有看到错误,但是在系统托盘中也没有看到该图标。是否需要在Tray.cpp中将set_from_file()添加到另一个步骤?

这是我的代码。

Tray.h

#ifndef GTKMM_TRAY_H
#define GTKMM_TRAY_H

#include <gtkmm.h>
#include <unistd.h>
using namespace std;

class Tray : public Gtk::StatusIcon
{
    public:
        Tray();
        ~Tray();

    private:
        virtual void on_statusicon_popup(guint button,guint activate_time);
        virtual void on_statusicon_activated();
};

Tray.cpp

#include "Tray.h"

Tray::Tray()
{
    set_from_file("/home/user/icons/icon.png");

    signal_activate().connect(sigc::mem_fun(*this,&Tray::on_statusicon_activated));
    signal_popup_menu().connect(sigc::mem_fun(*this,&Tray::on_statusicon_popup));

    set_visible(true);
}

Tray::~Tray() {}

void Tray::on_statusicon_popup(guint button,guint activate_time)
{
    printf("popup!");
}

void Tray::on_statusicon_activated()
{
    printf("active!");
}

main.cpp

#include <gtkmm/main.h>
#include "Tray.h"

int main(int argc,char *argv[]) 
{
    Gtk::Main kit(argc,argv);
    
    Tray tray;
    
    Gtk::Main::run();
    
    return 0;
}

请让我知道我在做错什么。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...