码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Qt学习记录___9.10


    1.QtSvg初体验

    #include 
    1. QSvgWidget w1;
    2. w1.load(QString(":/iconfont-gongyichongwu.svg"));
    3. QSvgRenderer *render=w1.renderer();
    4. qDebug()<defaultSize();
    5. w1.resize(render->defaultSize());
    6. w1.show();

    2. 对话框实验。

    QT之隐藏任务栏图标_qt隐藏任务栏图标_雨田哥的博客-CSDN博客

    1. QDialog w2;
    2. w2.show();

    这时候任务栏有图标。 

    1. int main(int argc, char *argv[])
    2. {
    3. QApplication a(argc, argv);
    4. QWidget *parent =new QWidget;
    5. QDialog *w=new QDialog(parent);
    6. w->resize(200,200);
    7. w->show();
    8. int ret=a.exec();
    9. delete parent;
    10. return ret;
    11. }

     而这样写任务栏就没有图标了。此时Dialog是Widget的子窗口,而Widget没有显示,从而产生了这样的效果。

     突然感觉Qt相关文章真的好多,是好事欸。

    3.系统托盘

    Qt 实现系统托盘,托盘菜单,托盘消息_qt如何发送托盘通知_GreenArrowMan的博客-CSDN博客

    1. QSystemTrayIcon * m_systemTray = new QSystemTrayIcon(this);
    2. m_systemTray->setIcon(QIcon(":/iconfont-gongyichongwu.svg"));
    3. m_systemTray->setToolTip("SystemTray Program");
    4. m_systemTray->show();

    (1)QIcon支持svg文件格式。

      (2)   能明白哪个函数有什么功能,该怎么用,可以实现什么效果,就超棒了。

    (3)可以对图标进行左击,右击,中击,双击,会发出activated信号,对应各种原因,在槽函数中进行你自己的个性化操作。

    connect(m_systemTray, &QSystemTrayIcon::activated, this, &svgwidget::activeTray);//点击托盘,执行相应的动作
    1. void svgwidget::activeTray(QSystemTrayIcon::ActivationReason reason)
    2. {
    3. switch (reason) {
    4. case QSystemTrayIcon::Context:
    5. qDebug()<<"Context";//右键
    6. break;
    7. case QSystemTrayIcon::DoubleClick:
    8. qDebug()<<"DoubleClick";//第二次左键点击
    9. break;
    10. case QSystemTrayIcon::Trigger:
    11. qDebug()<<"Trigger";//第一次左键点击或仅左键点击一次
    12. break;
    13. case QSystemTrayIcon::MiddleClick:
    14. qDebug()<<"MiddleClick";//滚轮按下
    15. break;
    16. case QSystemTrayIcon::Unknown:
    17. qDebug()<<"Unknown";
    18. break;
    19. default:
    20. break;
    21. }
    22. }

     (4)创建菜单

    1. QMenu * menu = new QMenu(this);
    2. menu->addAction("show window");
    3. menu->addAction("show Message");

    (5)指定右键菜单 

        m_systemTray->setContextMenu(menu);

    先到这里,感谢文章的分享者。

  • 相关阅读:
    LipidSearch 5.1
    工程制图试题
    环保企业网站前后台管理系统(Java+SSM+MySQL)
    Linux合集之Linux实用运维脚本分享及Linux CPU的上下文切换
    信息学奥赛一本通:1153:绝对素数
    PIL.Image、cv2的img、bytes相互转换
    气膜建筑的维护有哪些?
    蓝桥备赛——矩阵读入
    leetcode 收集垃圾的最少总时间
    SpringCore 完整学习教程1,入门级别
  • 原文地址:https://blog.csdn.net/weixin_51883798/article/details/132791922
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号