Инстанцирование KStatusNotifierItem приводит к сбою Qt - PullRequest
0 голосов
/ 22 октября 2018

Я использую Ubuntu Unity 17.04 с Qt 5.11, и у меня возникают проблемы с падением Qt при создании экземпляра KStatusNotifierItem.

Вот мой включаемый файл:

QT += widgets

HEADERS       =    
SOURCES       = main.cpp

# LIBS
LIBS += -lkdeui

# install
target.path = $$[HOME]/KSNITester
INSTALLS += target

Вот мой источник:

#include <QApplication>
#include "kstatusnotifieritem.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    KStatusNotifierItem * statusItem = new KStatusNotifierItem();
    return a.exec();
}

Когда я запускаю, я получаю SIGSEGV и происходит сбой программы:

Starting /home/anshah/KSNITester/KSNITester...
The program has unexpectedly finished.
The process was ended forcefully.
/home/anshah/KSNITester/KSNITester crashed.

Пожалуйста, дайте мне знать, как я могу решить эту проблему.

1 Ответ

0 голосов
/ 22 октября 2018

main.cpp:

#include <QApplication>
#include <QWidget>
#include <KStatusNotifierItem>

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

    QWidget window;

    KStatusNotifierItem *sni = new KStatusNotifierItem(&window);
    sni->setCategory(KStatusNotifierItem::ApplicationStatus);
    sni->setIconByName("face-smile");
    sni->setTitle("KStatusNotifierItem Demo");

    window.show();

    return app.exec();
}

.pro файл:

TEMPLATE = app
TARGET = ksnidemo
QT += widgets dbus KNotifications
SOURCES += main.cpp
...