Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Qt] wyświetlanie ikony w trayu, w7

Ostatnio zmodyfikowano 2014-08-07 21:41
Autor Wiadomość
Dziablo
Temat założony przez niniejszego użytkownika
[Qt] wyświetlanie ikony w trayu, w7
» 2014-08-05 15:48:56
Cześć, z pomocą dokumentacji napisałem program który ma wyświetlać ikone w pasku tray, program się kompiluje i uruchamia, ale nie pojawia sie ikona na pasku. Proszę o pomoc

C/C++
#include "mainwindow.h"
#include <QApplication>
#include <QSystemTrayIcon>
#include <QMenu>

int main( int argc, char * argv[] )
{
    QApplication a( argc, argv );
    MainWindow w;
    QMenu * trayIconMenu;
    trayIconMenu = new QMenu();
    QIcon icon( ":/ok.png" );
    QSystemTrayIcon tray;
    tray.setIcon( icon );
    tray.setContextMenu( trayIconMenu );
    tray.show();
    w.show();
   
    return a.exec();
}
P-115082
MrPoxipol
» 2014-08-05 22:46:04
Dodaj traya jako obiekt klasy okna głównego.
P-115103
Dziablo
Temat założony przez niniejszego użytkownika
» 2014-08-06 19:50:46
Przepraszam, ale dopiero uczę i często nie rozumiem jak coś działa. Chciałbym pilnie stworzyć prosty program na własny użytek, ale nie mogę znaleźć aktualnych przykładów do traya (Qt 5.x). Jak na razie zrobiłem takie zmiany, pewnie nie o to chodziło, bo ciągle nie widać ikony.

mainwindow.cpp:
C/C++
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow( QWidget * parent )
    : QMainWindow( parent )
     , ui( new Ui::MainWindow )
{
    QMenu * trayIconMenu;
    trayIconMenu = new QMenu();
    QSystemTrayIcon tray;
    QIcon icon( ":/ok.png" );
    tray.setIcon( icon );
    tray.setContextMenu( trayIconMenu );
    tray.show();
    ui->setupUi( this );
   
}

MainWindow::~MainWindow()
{
    delete ui;
}

edit: może jest jakaś alternatywa dla Qt? prostsza lub więcej przykładów?
P-115133
kubawal
» 2014-08-06 19:57:59
Wstaw QSystemTrayIcon jako składową klasy i alkouj ją dynamicznie
P-115134
Dziablo
Temat założony przez niniejszego użytkownika
» 2014-08-07 07:51:43
Wciąż nie widać ikony.
C/C++
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow( QWidget * parent )
    : QMainWindow( parent )
     , ui( new Ui::MainWindow )
{
    QMenu * trayIconMenu = new QMenu();
    QSystemTrayIcon * tray = new QSystemTrayIcon( QIcon( ":/ok.png" ), this );
    tray->setContextMenu( trayIconMenu );
    tray->show();
    ui->setupUi( this );
}

MainWindow::~MainWindow()
{
    delete ui;
}
P-115148
Witold
» 2014-08-07 09:45:23
Spróbuj dodać
tray->setVisible( true );
P-115150
Dziablo
Temat założony przez niniejszego użytkownika
» 2014-08-07 10:09:15
QIcon icon(":/ok.png"); Q_ASSERT(!icon.isNull());
ikona jest pusta, ale dlaczego? Co robię to tworze w windowsie obrazek bmp, nadaję mu rozmiar 16x16 albo 32x32 wypełniam jakimś kolorem, zapisuję jako ok.png w katalogu projektu czyli C:\Qt\Qt5.3.1\Tools\QtCreator\bin\mojprojekt
edit: i podaję ścieżke
:\ok.png
, próbowałem też
C:/Qt/Qt5.3.1/Tools/QtCreator/bin/mojprojekt/ok.png
edit2: spróbowałem svg i zadziałało, potem wróciłem do png i też działa :F
P-115152
MrPoxipol
» 2014-08-07 21:41:48
nie mogę znaleźć aktualnych przykładów do traya (Qt 5.x)
Akurat te dla 4.x też są dobre (w tym przypadku).
P-115193
« 1 »
  Strona 1 z 1