QT 创建托盘图标和右键菜单
2012-01-05 15:49
369 查看
void Shutdown::initTrayIcon()
{
//创建并设置动作
minAction = new QAction(this);
minAction->setIcon(QIcon(":/icons/min.bmp"));
connect(minAction,SIGNAL(triggered()),this,SLOT(hide()));
restoreAction = new QAction(this);
restoreAction->setIcon(QIcon(":/icons/restore.bmp"));
connect(restoreAction,SIGNAL(triggered()),this,SLOT(showNormal()));
aboutAction = new QAction(this);
aboutAction->setIcon(QIcon(":/icons/shutdown03.jpg"));
connect(aboutAction,SIGNAL(triggered()),this,SLOT(showAboutDlg()));
quitAction = new QAction(this);
quitAction->setIcon(QIcon(":/icons/quit.bmp"));
connect(quitAction,SIGNAL(triggered()),qApp,SLOT(quit()));
//创建托盘图标菜单并添加动作
trayIconMenu = new QMenu(this);
trayIconMenu->addAction(restoreAction);
trayIconMenu->addAction(minAction);
trayIconMenu->addSeparator();
trayIconMenu->addAction(aboutAction);
trayIconMenu->addSeparator();
trayIconMenu->addAction(quitAction);
//创建并设置托盘图标
trayIcon = new QSystemTrayIcon(this);
trayIcon->setContextMenu(trayIconMenu);
trayIcon->setIcon(QIcon(":/icons/shutdown01.png"));
//显示系统托盘图标
trayIcon->show();
connect(trayIcon,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),this,
SLOT(trayIconActivated(QSystemTrayIcon::ActivationReason)));
connect(trayIcon, SIGNAL(messageClicked()), this, SLOT(trayIconMsgClicked()));
}
{
//创建并设置动作
minAction = new QAction(this);
minAction->setIcon(QIcon(":/icons/min.bmp"));
connect(minAction,SIGNAL(triggered()),this,SLOT(hide()));
restoreAction = new QAction(this);
restoreAction->setIcon(QIcon(":/icons/restore.bmp"));
connect(restoreAction,SIGNAL(triggered()),this,SLOT(showNormal()));
aboutAction = new QAction(this);
aboutAction->setIcon(QIcon(":/icons/shutdown03.jpg"));
connect(aboutAction,SIGNAL(triggered()),this,SLOT(showAboutDlg()));
quitAction = new QAction(this);
quitAction->setIcon(QIcon(":/icons/quit.bmp"));
connect(quitAction,SIGNAL(triggered()),qApp,SLOT(quit()));
//创建托盘图标菜单并添加动作
trayIconMenu = new QMenu(this);
trayIconMenu->addAction(restoreAction);
trayIconMenu->addAction(minAction);
trayIconMenu->addSeparator();
trayIconMenu->addAction(aboutAction);
trayIconMenu->addSeparator();
trayIconMenu->addAction(quitAction);
//创建并设置托盘图标
trayIcon = new QSystemTrayIcon(this);
trayIcon->setContextMenu(trayIconMenu);
trayIcon->setIcon(QIcon(":/icons/shutdown01.png"));
//显示系统托盘图标
trayIcon->show();
connect(trayIcon,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),this,
SLOT(trayIconActivated(QSystemTrayIcon::ActivationReason)));
connect(trayIcon, SIGNAL(messageClicked()), this, SLOT(trayIconMsgClicked()));
}
相关文章推荐
- QT 创建托盘图标和右键菜单
- Qt 创建托盘图标与菜单
- 我创建了一个托盘图标,可以正常使用,点击右键打开菜单。问题是如果点击右键后不选择其中一个菜单项进行操作的话,它就总不消失。
- 关于QT系统托盘右键菜单的补充
- QT 创建鼠标右键菜单
- 创建QT系统托盘图标
- Swing创建带图标的右键弹出菜单
- QT 创建鼠标右键菜单
- win32进阶之路:程序托盘图标+右键弹出菜单
- Qt创建右键菜单的方法
- QT 创建鼠标右键菜单
- 晨曦之光 QT 创建鼠标右键菜单
- 让一个程序托盘显示,并且右键托盘图标可以弹出菜单
- Qt任务栏,托盘栏,托盘菜单,图标等操作
- WinForm 之 窗口最小化到托盘及右键图标显示菜单
- WTL::右键弹出菜单和托盘图标
- 让一个程序托盘显示,并且右键托盘图标可以弹出菜单
- QT 创建鼠标右键菜单
- VC 创建托盘,托盘tooltip。右键托盘菜单,点击别的地方会隐藏掉的问题。
- MFC 系统托盘图标实现,包括双击图标和右键图标菜单