c++ - QSystemTrayIcon 不显示

标签 c++ qt system-tray

有类似的问题,但他们没有解决我的问题。

我只有一个简单的 MainWindow 类,它会在启动时显示。构造函数包含以下代码:

QWidget* centralWidget = new QWidget(this);
this->setCentralWidget( centralWidget );

QSystemTrayIcon a;
a.setIcon( QIcon::fromTheme("edit-undo") );
a.setVisible( true );
a.show();
a.showMessage( tr( "Title" ), tr( "Message - Test" ) );

它只是一个带有 centralWidget 的窗口供以后使用。我只是想测试 QSystemTrayIcon 但它没有显示。图标 100% 正确,所以这不是问题。

谁知道怎么回事?我在 Linux 系统 (Ubuntu 12.04) 上。

最佳答案

QSystemTrayIcon 不是指针。

因此,一旦您离开构造函数的主体,它就会被销毁。

解决方案:为您的类创建一个私有(private)指针成员,并在退出时妥善处理其销毁。

关于c++ - QSystemTrayIcon 不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19299230/

相关文章:

C++ 访问对象,QT

java - 为位于系统托盘中的 Java 程序创建键盘 Hook

java - SWT TrayItem 鼠标监听器

c++ - MFC TrackPopupMenu问题

c++ - OpenCV 的 Python 或 C++ 编码之间的性能是否不同?

c++ - 在专用模板中访问嵌套 friend 类的私有(private)成员

java - Swing 应用程序中的 SWT 托盘图标

c++ - 参数包参数消耗

qt - 如何在Qt布局中设置小部件之间的显示比例?

c++ - QApplication 是懒惰的(或使应用程序中的其他线程懒惰)