Top.Mail.Ru
Уведомления
Очистить все

QT и трей, как создать всплывающее сообщение?

 lavr
(@lavr)
Level 1

Поделитесь пожалуйста базовым примером как вывести на экран всплывающее сообщение в трее (область в правом нижнем углу, Windows). Пробовал разные варианты из интернета, не получилось.

Цитата
Создатель темы Размещено : 30.09.2024 16:20
Метки темы
Aveal
(@aveal)
Top level Admin

Набросал по-быстрому, mainwindow.h:

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QSystemTrayIcon>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
    QSystemTrayIcon* trayInfo;
};
#endif // MAINWINDOW_H

mainwindow.cpp:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QStyle>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    trayInfo = new QSystemTrayIcon(this);
    trayInfo->setIcon(this->style()->standardIcon(QStyle::SP_MessageBoxWarning));
    trayInfo->setVisible(true);

    trayInfo->showMessage("Message title", "Message text", QSystemTrayIcon::Information, 3000);
}

MainWindow::~MainWindow()
{
    delete ui;
}
ОтветитьЦитата
Размещено : 01.10.2024 12:22
 lavr
(@lavr)
Level 1

@aveal перенес к себе в проект, сходу заработало, огромная благодарность!

ОтветитьЦитата
Создатель темы Размещено : 02.10.2024 11:04
Aveal
(@aveal)
Top level Admin

Отлично, обращайся если что 👍 

ОтветитьЦитата
Размещено : 02.10.2024 11:17
Поделиться: