[Qt] wyświetlanie ikony w trayu, w7
Ostatnio zmodyfikowano 2014-08-07 21:41
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 #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(); } |
|
MrPoxipol |
» 2014-08-05 22:46:04 Dodaj traya jako obiekt klasy okna głównego. |
|
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: #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? |
|
kubawal |
» 2014-08-06 19:57:59 Wstaw QSystemTrayIcon jako składową klasy i alkouj ją dynamicznie |
|
Dziablo Temat założony przez niniejszego użytkownika |
» 2014-08-07 07:51:43 Wciąż nie widać ikony. #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; }
|
|
Witold |
» 2014-08-07 09:45:23 Spróbuj dodać tray->setVisible( true ); |
|
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 |
|
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). |
|
« 1 » |