PythonStudio 控件使用常用方式(二十一)TTrayIcon

news2024/9/20 14:28:12

PythonStudio是一个极强的开发Python的IDE工具,官网地址是:https://glsite.com/ ,在官网可以下载最新版的PythonStudio,同时,在使用PythonStudio时,它也能及时为用户升到最新版本。它使用的是Delphi的控件,常用的内容是与Delphi一致的。但是相关文档并一定完整。现在我试试能否逐步把它的控件常用用法写一点点,也作为PythonStudio的参考。

从1.2.1版开始,PythonStudio又增加了很多新的控件。

TTrayIcon是一个托盘图标控件。所谓的托盘图标,就是类似微信、QQ、WIFI信号等,在屏幕右下角位置显示的图标。根据需要,可以在打开程序就显示这个图标,也可以只在最小化时显示图标。

组件位置

TTrayIcon位于Additional下

使用方式

最常用的使用方式,是把TTayIcon控件和TPopupMenu同时加入,这样,不仅在托盘里显示了小图标,同时,右键点击小图标,还能完成一些功能性的操作
在这里插入图片描述

Icon属性、Icons属性、IconIndex属性

设置图标有2种方式。

  • 一种是直接制作或下载ICO文件,通过在对象检查器中,加载相应图标,来进行设置,如上图显示
  • 如果用Icons属性,则需要和TImageList共同配合完成,即在TimageList中先加载进多个图标,然后把Icons属性设置为TImageList,再根据需要设置IconIndex

在这里插入图片描述
如果懒得找图标,直接用程序的图标也可以,设置方法为:

self.TrayIcon1.Icon=Application.Icon

Visible属性

如果设置为True,即在托盘中显示图标,反之,不显示。所以一般在使用时,可以有两种方式,一是直接在属性中设置为True,即只要窗体打开,就有图标;另一种是设置为False,只有当窗体最小化时再通过窗体的Resize事件判断最小化,再修改为True,显示图标

class Form1(Form)

	def __(init)__(self, owner):
		......
		# 添加窗体调整大小事件
		self.OnResize = self.FormResize
 
    def FormResize(self, Sender):
        # 判断是否为最小化,是则设置托盘图标为是
        self.TrayIcon1.Visible=False if self.WindowState==wsMinimized else True
	

PopupMenu属性

如果需要,先加入TPopupMenu控件,并通过右键点击,在Menu Editor中加入各菜单项

接下来,在PopupMenu属性中,选择新建的PopupMenu控件
这样,在右击托盘图标时,即可展示菜单,进行进一步操作。

Hint属性

设置文本后,在鼠标移到图标上时,会出现提示
在这里插入图片描述

BallonHint、BallonTitle、BallonTimeout、BallonFlags属性

这是一系列的通知提示,是一种新的提示方式,它的效果更加好,如下图所示

  • BallonFlags:通知图标
  • BallonHint:通知内容
  • BallonTimeout:通知时间,10000表示通知在10秒钟后自动关闭
  • BallonTitle:通知标题
    在这里插入图片描述

但是它需要有几个前提

  • 必须要把托图标设置为True
  • 必须要调用self.TrayIcon1.ShowBalloonHint()函数打开

Animate、AnimateInterval属性

这两个属性是对图标进行动画,比如微信来信息后,托盘图标会闪烁一样,或QQ来信息,托盘图标会变成闪烁的头像,这些就可以用这两个属性来完成

在这里,需要先将进行变换的不同图标通过ImageList导入,
在这里插入图片描述
然后设置Icons、Animate、AnimateInterval属性即可

  • Animate:是否使用动画
  • AnimateInterval:多张图之间的切换时间间隔,500为0.5秒
    在这里插入图片描述
    当然,这些属性也可以用代码来实现。

常用方法

  • OnAnimate: 写动画代码的事件
  • OnBalloonClick: 点击 BalloonHint 时…
  • OnClick: 单击图标时…
  • OnDblClick:双击图标时

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2033445.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SSL发送邮件:如何确保邮件传输过程安全?

SSL发送邮件的安全性评估?SSL发送邮件的条件有哪些? 使用SSL发送邮件是一种有效的措施,能够确保邮件在传输过程中的安全性。AokSend将探讨SSL发送邮件的关键技术及其重要性,帮助您更好地理解如何确保邮件传输过程的安全。 SSL发…

米思奇安装——Mac版本

米思奇安装——Mac版本 1.下载 访问米思奇官网https://mixly.org/bnu-maker/mixl2.0rc 打开官网后在首页点击导航栏的软件平台,选择Mixly离线版 点击Mixly2.0RC4发布下载。 进入百度网盘分享的文件,选择Mac一键更新版本,等待下载完成。 …

机器学习——第十一章 特征选择与稀疏学习

11.1 子集搜索与评价 对一个学习任务来说,给定属性集,其中有些属性可能很关键、很有用,另一些属性则可能没什么用.我们将属性称为"特征" (feature) ,对当前学习任务有用的属性称为"相关特征" (relevant featu…

【Pyspark-驯化】一文搞懂Pyspark中表连接的使用技巧

【Pyspark-驯化】一文搞懂Pyspark中表连接的使用技巧 本次修炼方法请往下查看 🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地! 🎇 相关内容文档获取 微信公众号 &…

ios创建控制器的3种方法实现页面跳转

ios遵守mvc设计模式,下面介绍创建控制器viewcontroller的几种方法,来实现页面的跳转 1.纯代码创建 // // AppDelegate.m // study2024 // // Created by zhifei zhu on 2024/8/7. //#import "AppDelegate.h" #import "MyViewContro…

代理模式-

代理模式通常找到代理方来管理用户的权限访问。如下图&#xff1a; #include<string> #include<iostream> using namespace std; class Video { public:virtual void Free() 0;virtual void VIP() 0;virtual void Ticket() 0; }; class FixbugVideo:public V…

机械学习—零基础学习日志(项目实践01)

llM项目分类与原理解析 Prompt项目 直接产出一些具体的文本与信息&#xff0c;使用markdown的格式。 对prompt进行较好的格式输出&#xff0c;固定格式。 ChatPaper 快速获取论文内容&#xff0c;然后了解对应的信息&#xff0c;判断是否有必要阅读这一篇论文 ChatBI&…

Adobe Dimension DN v4.0.2 解锁版下载及安装教程 (三维3D建模工具)

前言 Adobe Dimension&#xff08;简称DN&#xff09;是一款3D设计软件&#xff0c;三维合成和渲染工具&#xff0c;2D平面的二维转为3D立体的三维合成工具&#xff0c;用于3Dmax\C4D\MAYA等三维软件生成的效果图&#xff0c;在3D场景中排列对象、图形和光照。3D应用程序使用的…

python循环语句之while循环和for循环

文章目录 1. while 循环1.1 介绍1.1.1 生活中的循环1.1.2 程序中的循环 1.2 总结 2. while循环应用&#xff1a;1~100求和2.1 需求2.2 分析 3. while嵌套循环以及运用3.1 while嵌套循环语句的语法格式3.2 while嵌套循环使用3.2.1 要求3.2.2 参考代码 4. for循环4.1 for循环基本…

2024自动驾驶(多模态)大模型综述:从DriveGPT4、DriveMLM到DriveLM、DriveVLM

前言 由于今年以来&#xff0c;一直在不断深挖具身智能机器人相关&#xff0c;而自动驾驶其实和机器人有着无比密切的联系&#xff0c;甚至可以认为&#xff0c;汽车就是一个带着4个轮子的机器人 加之个人认为&#xff0c;目前大模型落地潜力最大的两个方向&#xff0c;一个是…

【BES2500x系列 -- RTX5操作系统】系统执行流程 -- 应用初始化 -- app_init() --(十二)

&#x1f48c; 所属专栏&#xff1a;【BES2500x系列】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f49…

Linux:多线程(三.POSIX信号量、生产消费模型、线程池、其他常见的锁)

上次讲解了&#xff1a;Linux&#xff1a;多线程&#xff08;二.理解pthread_t、线程互斥与同步、基于阻塞队列的生产消费模型&#xff09; 文章目录 1.POSIX信号量1.1引入1.2回顾加深理解信号量1.3信号量的操作接口 2.基于循环队列的生产消费模型2.1循环队列2.2整个项目 3.线程…

fastadmin自定义弹框,以及回调函数等问题,

效果图 1&#xff0c; 代码 弹框中使用弹框 弹框1代码主要代码 <div class"form-group ccol-xs-12 col-sm-2" style"text-align: right"><a href"#" data-url"{:url(user/add)}" class"btn btn-info" id"a…

Android逆向题解-boomshakalaka-3-难度5

这个app 是一个cocos游戏&#xff0c;没有用脚本实现&#xff0c;纯c实现。 题目描述:play the game, get the highest score 题目要求是玩游戏得到最高分就可以得到flag&#xff0c;是写到配置文件的&#xff0c;初始flag值看着是base编码的。 核心代码在so里面的ControlLay…

GPT-4o:开启多模态AI识别新纪元

GPT-4o功能简介 在人工智能的演变历程中&#xff0c;图像识别技术始终占据着核心地位。技术的发展日新月异&#xff0c;使得AI不仅能够识别图像内容&#xff0c;还能将其转化为文字描述。特别值得一提的是&#xff0c;OpenAI在春季发布的GPT-4o模型&#xff0c;将图像识别技术…

Spring项目:文字花园(一)

前言 实现登录注册功能。 ⽤⼾登录成功后, 可以查看所有⼈的博客. 点击 <<查看全⽂>> 可以查看该博客的正⽂内容. 如果该博客 作者为当前登录⽤⼾, 可以完成博客的修改和删除操作, 以及发表新博客 一.准备工作 1.1注入sql &#xff08;数据准备&#xff09; -- 建…

解决No module named ‘tensorflow‘

import tensorflow as tf ModuleNotFoundError: No module named tensorflow 安装合适的tensorflow版本 先查看自己的python版本 或者输入指令&#xff1b;python --version 安装兼容的tensorflow版本&#xff0c;安装指定版本的tensorflow pip install tensorflow-gpu2.3.0…

MVDream 论文学习

论文链接&#xff1a;https://arxiv.org/abs/2308.16512 代码链接&#xff1a;https://github.com/bytedance/MVDream 解决了什么问题&#xff1f; 3D 内容生成是现代游戏和媒体产业中的关键环节&#xff0c;然而这是一个劳动密集型的任务&#xff0c;创建一个 3D 资产就需要…

后端Web之HTTP协议基础介绍

目录 1.HTTP概念 2.HTTP请求协议 3.HTTP响应协议 4.HTTP协议解析 1.HTTP概念 HTTP&#xff08;HyperText Transfer Protocol&#xff0c;超文本传输协议&#xff09;是一种用于分布式、协作式和超媒体信息系统的应用层协议。它是万维网数据通信的基础&#xff0c;允许将超…

JVM由那些部分组成,运行流程是什么?

Java 虚拟机 (JVM) 是 Java 运行环境的核心部分&#xff0c;它负责执行 Java 字节码。JVM 由多个不同的组件组成&#xff0c;每个组件都负责不同的任务。下面我将详细介绍 JVM 的主要组成部分及其运行流程。 JVM 的组成部分 类加载器 (Class Loader)&#xff1a; 类加载器负责读…