Qt 创建托盘图标与菜单

Qt实现最小化窗口到托盘图标 Qt实现软件在系统托盘中显示! 阅读详情

/* hello.h*/

#include <QtGui>
class myclass: public QWidget
{
Q_OBJECT
public:
myclass();
private:
QPushButton *b1;
QSystemTrayIcon *trayIcon;
char *msg;
void showMessage(char *msg);
void createActions();
void createTrayIcon();
QAction *minimizeAction;
QAction *maximizeAction;
QAction *restoreAction;
QAction *quitAction;
QMenu *trayIconMenu;
private slots:
void showM();
void iconActivated(QSystemTrayIcon::ActivationReason reason);
};

 

/*hello.cpp*/

#include <QtGui>
#include "hello.h"
myclass::myclass()
{
QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));
setMinimumSize(200,100);
b1=new QPushButton("hello world",this);
b1->setGeometry(20,20,160,40);
QIcon icon = QIcon("./images/MSNLogo.ico");
setWindowIcon(icon);
trayIcon = new QSystemTrayIcon(this);
trayIcon->setIcon(icon);
trayIcon->setToolTip("a trayicon example");
createActions();
createTrayIcon();
trayIcon->show();
setWindowTitle(tr("Systray"));
connect(trayIcon,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),this,SLOT(iconActivated(QSystemTrayIcon::ActivationReason)));
connect(b1,SIGNAL(clicked()),this,SLOT(showM()));
}

void myclass::showM()
{
QString titlec=tr("slot需要signal相同的参数进行传递");
QString textc=QString::fromLocal8Bit("测试内容单击、双击、中键、按钮");
trayIcon->showMessage(titlec,textc,QSystemTrayIcon::Information,5000);
   }

void myclass::showMessage(char *msg)
{
QString titlec=tr(msg);
QString textc=QString::fromLocal8Bit("测试内容单击、双击、中键、按钮");
trayIcon->showMessage(titlec,textc,QSystemTrayIcon::Information,5000);
   }

void myclass::iconActivated(QSystemTrayIcon::ActivationReason reason)
{
    switch (reason) {
    case QSystemTrayIcon::Trigger:
showMessage("单击");
break;
    case QSystemTrayIcon::DoubleClick:
showMessage("双击啦");
      break;
    case QSystemTrayIcon::MiddleClick:
showMessage("你用的是三轮鼠标还是滚轮鼠标啊");
      break;
    default:
      ;
    }
}

void myclass::createActions()
{
    minimizeAction = new QAction(tr("最小化 (&I)"), this);
    connect(minimizeAction, SIGNAL(triggered()), this, SLOT(hide()));

    maximizeAction = new QAction(tr("最大化 (&X)"), this);
    connect(maximizeAction, SIGNAL(triggered()), this, SLOT(showMaximized()));

    restoreAction = new QAction(tr("还原 (&R)"), this);
    connect(restoreAction, SIGNAL(triggered()), this, SLOT(showNormal()));

    quitAction = new QAction(tr("退出 (&Q)"), this);
    connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit()));
}

void myclass::createTrayIcon()
{
    trayIconMenu = new QMenu(this);
    trayIconMenu->addAction(minimizeAction);
    trayIconMenu->addAction(maximizeAction);
    trayIconMenu->addAction(restoreAction);
    trayIconMenu->addSeparator();
    trayIconMenu->addAction(quitAction);
    trayIcon->setContextMenu(trayIconMenu);
}


int main(int argc,char **argv)
{
QApplication testc(argc,argv);
myclass newc;
newc.show();
return testc.exec();
}

 

 

qt 之 QSystemTrayIcon(托盘程序整个例子) 小伙伴们会经常遇到一些托盘程序,有些程序关闭后,程序并没有退出,而是放入了托盘中,如下图: 那qt是如何实现这样的办法呢,其实就是用到了QSystemTrayIcon类,通常有两种方法去写,第一种比较简单,直接利用 QSystemTrayIcon ,来达到一些基本的托盘程序,也是本文章要讲的。第二种是继承QSystemTrayIcon类,这样子类设计可以使得托 盘程序更加功能强大,接下来给大家讲解简单的托盘: 托盘也出现了程序: ... 阅读详情

相关推荐

Qt系统托盘程序的实现

Qt程序创建系统托盘

null_plus的博客 1万+

Qt 添加系统托盘

使用的方法和步骤如下:       1、#include 如果需要系统托盘图标的菜单,则还需要#include ;       2、声明对象QSystemTrayIcon *tray和QMenu *trayMenu;       3、接下来可以对tay进行一些初始化的工作。           tray->setToolTip(...);//设置tooltip

The Pursuit Of Heaven 843

Qt--实现程序系统托盘

一、展示效果 二、具体操作 widget.h #ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include <QCommonStyle> #include <QSystemTrayIcon> #include <QAction> #include <QMenu> QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAM

贝勒里恩的博客 602

Qt程序添加托盘图标

我们先创建一个QApplication对象,然后创建一个QSystemTrayIcon对象,再指定图标的路径。接着创建了一个QMenu对象,并在菜单中添加一个关闭程序的动作,然后将菜单设置给托盘图标,并连接了关闭程序的槽函数。最后调用show()方法显示托盘图标,并通过app.exec()进入事件循环。在Qt中,可以使用QSystemTrayIcon类来实现在程序运行时显示图标在托盘栏,并且通过右键点击图标来关闭程序。// 将菜单设置给托盘图标。// 连接关闭程序的槽函数。// 创建系统托盘图标。

qq_70621180的博客 969

Qt 实现系统托盘,托盘菜单,托盘消息.zip

Qt 实现系统托盘,托盘菜单,托盘消息.zip

Qt个性化系统托盘的实现

Qt个性化系统的实现,模仿了电脑管家的系统托盘,因为图标没有找到,所以图标不是很像。但是基本很相似。

C++Qt windows系统托盘增加图标和功能

windows系统托盘增加图标和功能 C++ Qt

qq_40135848的博客 653

Gazebo仿真环境下的强化学习实现

实际上利用Gazebo进行强化学习无非是环境获取上的不同,Gazebo的环境控制需要使用ROS服务进行控制,状态可以通过Gazebo进行获取,同时某些必要数据需要从话题中获取,最重要的是组织获取 的数据(通过话题等)与控制Gazebo的仿真步骤之间的组合。强化学习的手段与传统算法无异,强化学习方法最重要的是要确定动作空间、状态空间、奖励空间,这三个空间是work的前提。在笔者自己的环境中,将获取里程计的话题以及获取激光点的数据替换成为了自己的本机的仿真环境匹配的话题。

Moresweet 猫甜 6448

QT----给程序添加上任务栏托盘图标和退出

让我们的程序拥有任务栏托盘图标,实现程序后台运行,退出等功能。

混吃等死,偶尔搞点好玩的 1398

jaka+realsense+aruco+手眼标定(python)

第二次重建了项目的手眼标定部分……有很多第一次记录遗漏的地方,在此补充。

drivenzyw的博客 2122

无线充电效率从75%到90%+:深入拆解LCC补偿网络如何成为电动汽车和智能车竞赛的‘稳压器’

本文深入探讨了LCC补偿网络如何显著提升无线充电效率至90%以上,成为电动汽车和智能车竞赛中的关键技术。通过分析LCC的三元件结构和双模式切换特性,揭示了其在负载突变和线圈错位情况下的稳定性优势,并展示了实际应用中的效率提升和产业化挑战。

weixin_42528191的博客 396

QT 创建托盘图标和右键菜单

<br />void Shutdown::initTrayIcon()    <br />{     <br />        //创建并设置动作     <br />    minAction = new QAction(this);     <br />    minAction->setIcon(QIcon(":/icons/min.bmp"));     <br />    connect(minAction,SIGNAL(triggered()),this,SLOT(hide()));   

auragreen的专栏 3740

从配置文件加载顺序揭秘:为什么你的logback.xml读不到application.yml?

本文深入解析了Spring Boot中logback.xml无法读取application.yml配置的原因,揭示了Spring Boot配置加载机制与日志系统初始化的时序问题。通过对比logback.xml与logback-spring.xml的差异,提供了使用springProperty标签和系统属性传递等解决方案,帮助开发者有效解决日志配置问题。

weixin_29214335的博客 364

Qt创建系统托盘菜单

Qt创建系统托盘菜单 //菜单 createMenu(); //判断系统是否支持托盘图标 if(!QSystemTrayIcon::isSystemTrayAvailable()) { return; } //实例QSystemTrayIcon myTrayIcon = new QSystemTrayIcon(this); //设置图标 myTrayIcon-&g...

qq_35297310的博客 410

WinCC与施耐德PLC的Modbus TCP通信实战指南

本文详细解析了西门子WinCC与施耐德PLC通过Modbus TCP协议实现通信的完整实战流程。内容涵盖硬件网络配置、Modbus地址映射核心规则、WinCC驱动连接建立、变量创建及高级数据访问技巧,并提供了常见故障排查思路,帮助工程师高效解决跨品牌设备通信难题。

weixin_29194693的博客 997

SAP SD核心流程解析:从销售订单到财务结算的实战指南

本文深入解析SAP SD模块从销售订单到财务结算的核心流程,重点剖析了销售订单中的行项目类别如何作为流程的“总开关”,决定了后续交货、开票及财务集成的走向。文章结合实战案例,详细拆解了正常销售、退货、第三方销售、寄售等典型流程的配置要点与国内化适配方案,并阐述了SD与财务模块集成的关键连接点,为顾问和用户提供了一份全面的实战指南。

weixin_29250403的博客 426

Qt 创建后台系统托盘菜单

创建步骤 创建 QSystemTrayIcon 对象 创建 QMenu 对象 创建具体的QAction对象,绑定相应的实现槽函数 将QAction对象加入到 QMenu 对象中 QSystemTrayIcon 对象设置相应的托盘图标或者ToolTips 调用 QSystemTrayIcon 的 setContextMenu 设置QMenu 调用 QSystemTrayIcon 的show 显示菜单即可 代码示例 _sysTray = QSharedPointer<QSystemTrayIcon&gt

weixin_39308337的博客 243

linux下载NCBI基因组数据

fastq-dump --gzip --split-3 SRR25474921.sra,#使用fastq-dump将sra转换为fastq格式,--split-3 参数可以把双端测序的reads提取出来,左端标示为*_1.fastq;右端标示为*_2.fastq。安装之后转到NCBI网页搜索需要的数据或者到SRA数据中查找,我下载的是SRA数据库中的SRR25474921(SRA中是原始测序数据)prefetch --option-file SRR_Acc_List.txt #下载多个SRA文件。

k7586556的博客 2301

QT系统托盘

使用QSystemTrayIcon类创建一个对象设置一个图标调用show就可以在程序运行的时候有一个托盘图标了

weixin_44263232的博客 2815

ARFoundation系列讲解 - 手部跟踪编程

通过使用ARFoundation的手部跟踪子系统,我们可以轻松地在AR应用程序中实现与用户手部的交互。通过设置AR环境、创建场景和相机、添加手部跟踪功能以及编写相应的脚本,我们可以开始在AR场景中跟踪和操作用户的手部。在Unity中创建一个新场景,并将AR Session组件添加到场景中的一个空对象上。手部跟踪的具体实现可能因AR设备和平台的不同而有所差异,你可能需要根据你的使用情况进行一些适配和调整。当你将手部放入AR场景中时,手部跟踪系统将触发相应的事件,并调用脚本中的回调函数。

2301_79325339的博客 355

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Qt任务栏,托盘栏,托盘菜单,图标等操作

隐藏任务栏 setWindowFlags(Qt::FramelessWindowHint|Qt::WindowStaysOnTopHint|Qt::Tool);//不显示任务栏图标 显示系统托盘图标 #include private:     QSystemTrayIcon *system_tray;     system_tray = new QSystem

IBC 3590

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

qt 实现托盘菜单

mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QSystemTrayIcon> namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q...

sun 1079

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

自学QT之托盘菜单

这两天跟托盘较上劲了,如何实现酷狗那种托盘右键菜单呢?看上去高大上,其实并不难。 只要在托盘产生的时候,给它加上右键菜单就行了。 void player::on_closeBtn_clicked()//单击关闭按钮,产生托盘和托盘菜单 { this->hide(); ...

chizhou4731的博客 216

qt生成应用程序图标和托盘

首先,准备一个图标,例如:zx.ico,并新建一个文本文档,在里面添加一行: IDI_ICON1   ICON DISCARDABLE"zx.ico" 重命名为:zx.rc并保存,和你的程序图标zx.ico一起放到QT工程目录下; 然后,在QT工程文件.pro里面最后新添加一行: RC_FILE = zx.rc 最后,在程序中添加代码: app.seWindow

恋文 954

深入理解 Qt 系统托盘图标:创建自定义的系统托盘图标类

在现代桌面应用程序中,系统托盘图标(通常位于任务栏右下角)是一个常见的交互方式。它为用户提供了快捷的操作界面,如显示应用程序、退出程序、查看通知等。在 Qt 中,类允许我们轻松地在系统托盘中添加图标并与用户交互。今天,我们将介绍如何创建一个自定义的系统托盘图标类,使其能够响应用户的点击事件,并显示一个右键菜单。我们创建了一个名为的类,继承自,并实现了一些附加功能,如响应用户的点击事件、弹出右键菜单等。在这篇博客中,我们创建了一个名为的自定义系统托盘图标类,它继承自设置托盘图标。

qq_35803412的博客 1126
上一篇: Qt 声音文件加载
下一篇: 我的第一个汇编程序,led流水灯
MrBugYang
博客等级 码龄18年 21粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值