سلام به همگی
به عنوان مثال من یه برنامه نوشتم حالا می خوام تو این قسمت ویندوز بزارم منظورم همون قسمته برنامه های پیشه ساعته.
ممنون میشم کمکم کنید.
سلام به همگی
به عنوان مثال من یه برنامه نوشتم حالا می خوام تو این قسمت ویندوز بزارم منظورم همون قسمته برنامه های پیشه ساعته.
ممنون میشم کمکم کنید.
از این کلاس http://qt-project.org/doc/qt-5/QSystemTrayIcon.html استفاده کن
مثال ازاستفاده :
http://www.7khatcode.com/985/%DA%AF%...?show=985#q985
ممنون از راهنماییت
از اون لینک Qt که چیزی نفهمیدم
بیشتر از رو مثاله فهمیدم چی شده حالا یه سوال این مثال فقط menu هارو میسازه من چجوری بش بگم که مثلا item 1 رو زد فلان چیزو باز کنه باز کنه
باید سیگنال triggered منو رو connect کنی به SLOT خودت مثلا این کد رو اجرا کن
#include <QApplication>
#include <QSystemTrayIcon>
#include <QMenu>
#include <QAction>
#include <QFileDialog>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QSystemTrayIcon *trayIcon=new QSystemTrayIcon();
QMenu *menu=new QMenu("title");
menu->addAction("Open file");
menu->addAction("Exit");
trayIcon->setContextMenu(menu);
trayIcon->setIcon(QIcon("D:\\icon.png"));
trayIcon->show();
trayIcon->showMessage("Title","Hi Im here !");
QObject::connect(menu,&QMenu::triggered,[](QAction* act){
const auto& text = act->text();
if(text=="Exit"){
QApplication::exit();
}
else if(text=="Open file"){
QFileDialog::getExistingDirectory();
}
});
QApplication::setQuitOnLastWindowClosed(false);
return a.exec();
}
من اینو می خواستم اجرا کنم ولی کلی ارور داد
خودت یه نگاهی بنداز
درود.
یه مثال تو خود کیوت هست برای اینکار پوشه ی example ها رو یه نگاه بنداز با یه اسمی مثل tray icon.
محمد.
باید flag
C++11 رو فعال کنید http://www.7khatcode.com/580/%D8%A7%...?show=580#q580
Qt5 به بالا هم باید داشته باشید
ممنون ولی یه مشکل دیگه
#include "mainwindow.h"
#include <QApplication>
#include <QSystemTrayIcon>
#include <QMenu>
#include <QAction>
#include <QFileDialog>
#include <QMessageBox>
int main(int argc, char *argv[])
{
MainWindow w;
QApplication a(argc, argv);
QSystemTrayIcon *trayIcon=new QSystemTrayIcon();
QMenu *menu=new QMenu("TimeUsage");
menu->addAction("Open");
menu->addAction("Exit");
trayIcon->setContextMenu(menu);
trayIcon->show();
trayIcon->showMessage("TimeUsage","TimeUsage Is Here!");
QObject::connect(menu,&QMenu::triggered,[](QAction* act){
const auto& text = act->text();
if(text=="Exit"){
QApplication::exit();
}
else if(text=="Open"){
w.show();
}
});
QApplication::setQuitOnLastWindowClosed(false);
return a.exec();
}
یه ارور میده تا حالا ندیدم
'w' is not captured
حلش کردم
باید Mainwindow w رو می بردم زیر QAplication
خط 20 هم باید اینطوری مینوشتم
QObject::connect(menu,&QMenu::triggered,[&w](QAction* act){