Qt5 任务栏托盘功能实现
2015-11-17 18:48
483 查看
23333 有一阵子没写博客了,研究了挺长时间qt,学到任务栏托盘时简直无语,网上找得到的代码大多是废码,Qt5不支持或者本身就有毛病不能实现却被n多人转来转去的,甚是无语。
简单托盘功能以下在Qt5.5编译通过:
MainWindow.cpp
PS:
RC_FILE = 1.rc
PS:
1.rc
IDI_ICON1 ICON "6.ico"
所需图片要写在rc配置文件或者添加到工程资源中,.cto文件自备2333。
简单托盘功能以下在Qt5.5编译通过:
#include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); //菜单 createMenu(); //判断系统是否支持托盘图标 if(!QSystemTrayIcon::isSystemTrayAvailable()) { return; } //实例QSystemTrayIcon myTrayIcon = new QSystemTrayIcon(this); //设置图标 myTrayIcon->setIcon(QIcon(":/new/prefix1/abc")); //鼠标放托盘图标上提示信息 myTrayIcon->setToolTip("Qt托盘图标功能"); //设置消息 myTrayIcon->showMessage("托盘","托盘管理",QSystemTrayIcon::Information,10000); //托盘菜单 myTrayIcon->setContextMenu(myMenu); //显示 myTrayIcon->show(); } //绘制菜单 void MainWindow::createMenu() { restoreWinAction = new QAction("恢复(&R)",this); quitAction = new QAction("退出(&Q)",this); //恢复 connect(restoreWinAction,SIGNAL(triggered()),this,SLOT(showNormal())); //退出 connect(quitAction,SIGNAL(triggered()),qApp,SLOT(quit())); myMenu = new QMenu((QWidget*)QApplication::desktop()); //添加菜单 myMenu->addAction(restoreWinAction); //分隔符 myMenu->addSeparator(); myMenu->addAction(quitAction); } //恢复 void MainWindow::showNormal() { this->show(); } //点击最小化按钮隐藏 void QWidget::changeEvent(QEvent *e) { if((e->type()==QEvent::WindowStateChange)&&this->isMinimized()) { this->hide(); } } MainWindow::~MainWindow() { delete ui; }
MainWindow.cpp
PS:
RC_FILE = 1.rc
PS:
1.rc
IDI_ICON1 ICON "6.ico"
所需图片要写在rc配置文件或者添加到工程资源中,.cto文件自备2333。
相关文章推荐
- Qt解决中文乱码问题(2)
- QT解决中文乱码问题(1)
- Ⅰ.2.6.3.4 如何测试 QTableViews(QAbstractItemModels 和 QItemSelectionModels)中的 Items
- MQTT协议实现(一)
- 我的QT5学习之路(三)——模板库、工具类和控件(上)
- VTK6.3+Qt5.4编译
- Ⅰ.2.6.3.3 如何测试 QTableWidgets 中的 Items
- ubuntu12.04LTS+Qt4.8.6+opencv2.4.9
- 老李分享:qtp自动化测试框架赏析-关键字自动化测试框架
- QTP自动化测试培训:描述编程之WebElement
- qt中qDebug()无法输出解决办法
- QT 编译问题
- 设置Qt应用程序图标及应用程序名
- QTreeView 限制特定的深度、特定深度下的列 是否可以编辑
- 无法定位程序输入点strnlen于动态链接库msvcrt.dll上
- VS2010下QT的简单使用
- Ⅰ.2.6.3 如何测试Item Views、Item Widgets 和 Models 中的Items (Qt 4)
- Qt核心剖析: moc
- Qt读取和保存GB2312编码(Qt4)
- Qt 程序在 windows 下的发布