1、设置应用程序图标
可执行文件**.exe**的图标
在**.pro**工程文件中添加 RC_ICONS = “xxxxx.ico” 即可,如:
RC_ICONS = "file_logo.ico"
如上所示这样做,图标文件需要和**.pro**工程文件在同一目录下
2、设置窗口左上角图标
从资源文件中调用下面API设置窗口图标,在窗口构造函数中加入如下代码
this->setWindowIcon(QIcon(":/res/res/file_logo.png"));
3、设置系统托盘图标
相关类:
#include <QSystemTrayIcon> //任务托盘类
#include <QMenu>
void MainWindow::Creat_Menu()
{
QSystemTrayIcon *fileIcon = new QSystemTrayIcon(this);
QMenu *fileMenu = new QMenu((QWidget *)QApplication::desktop());
QAction *restoreWinAction = new QAction(this);
QAction *quitAction = new QAction(this);
restoreWinAction->setText("打开窗口");
quitAction->setText("退出");
fileMenu->addAction(restoreWinAction); //给菜单添加动作选项
fileMenu->addSeparator();
fileMenu->addAction(quitAction);
connect(restoreWinAction, &QAction::triggered, this, &MainWindow::show);
connect(quitAction, &QAction::triggered, this, &MainWindow::close);
if (!QSystemTrayIcon::isSystemTrayAvailable()) //判断系统是否支持托盘图标
{
return;
}
fileIcon->setToolTip("文件重复检测工具"); //设置托盘图标提示
fileIcon->setIcon(QIcon(":/res/res/filelogo.ico")); //设置图标
fileIcon->setContextMenu(fileMenu); //给系统托盘添加右键菜单
fileIcon->show(); //显示托盘
}
//在widget changetEvent事件中判断是否最小化,是则隐藏当前窗口
void QWidget::changeEvent(QEvent *e)
{
if (e->type() == QEvent::WindowStateChange && this->isMinimized())
{
this->hide();
}
}