
python系统托盘
发布日期:2021-05-07 21:44:30
浏览次数:19
分类:精选文章
本文共 2622 字,大约阅读时间需要 8 分钟。
PySide应用程序开发示例
以下是基于PySide的应用程序开发示例,主要涉及窗口创建、上下文菜单以及鼠标事件处理等功能的实现。
import sysfrom PySide import QtGuifrom PySide import QtCoreclass Tuopan(QtGui.QLabel): def __init__(self): super(Tuopan, self).__init__() self.setWindowTitle("Tray!") self.setWindowFlags(QtCore.Qt.SplashScreen) self.pic = QtGui.QPixmap('kato.png') self.pic.scaled(580, 580) self.setPixmap(self.pic) self.setScaledContents(True) self.setMask(self.pic.mask()) self.setAlignment(QtCore.Qt.AlignCenter) self.dragPosition = None self.show() self.createContextMenu() def createContextMenu(self): self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.customContextMenuRequested.connect(self.showContextMenu) self.contextMenu = QtGui.QMenu(self) self.actionA = self.contextMenu.addAction('执行exe') self.actionB = self.contextMenu.addAction('关机') self.actionC = self.contextMenu.addAction('关闭') self.actionA.triggered.connect(self.action_add) self.actionB.triggered.connect(self.action_del) self.actionC.triggered.connect(self.action_close) def showContextMenu(self, pos): self.contextMenu.move(self.pos() + pos) self.contextMenu.show() def action_add(self): pass def action_del(self): pass def action_close(self): self.close() def wheelEvent(self, event): max = 500 min = 100 value = event.delta() if value: if (self.width() + value * 0.1) >= 100 and (self.width() + value * 0.1) <= 500: self.resize(self.width() + value * 0.1, self.width() + value * 0.01) pix = self.pic.scaled(self.width() + value * 0.1, self.width() + value * 0.01) self.setPixmap(pix) self.setMask(self.pic.mask()) self.repaint() self.update() def mousePressEvent(self, event): if event.button() == QtCore.Qt.LeftButton: self.dragPosition = event.globalPos() - self.frameGeometry().topLeft() event.accept() if event.button() == QtCore.Qt.RightButton: pass if event.button() == QtCore.Qt.MiddleButton: pass def mouseMoveEvent(self, event): if event.buttons() & QtCore.Qt.LeftButton: self.move(event.globalPos() - self.dragPosition) event.accept()if __name__ == '__main__': app = QtGui.QApplication(sys.argv) trans = Tuopan() trans.show() sys.exit(app.exec_())
以上代码示例展示了如何使用PySide框架创建一个带上下文菜单和鼠标事件处理的窗口应用程序。开发者可以根据实际需求进行定制和扩展。
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2025年04月12日 11时36分47秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
day-04-列表
2019-03-06
day-13-匿名函数-内置函数2-闭包
2019-03-06
Linux 磁盘管理(df fu fdisk mkfs mount)
2019-03-06
力扣125. 验证回文串-C语言实现-简单题
2019-03-06
空间向量
2019-03-06
第一类曲面积分
2019-03-06
常数项级数
2019-03-06
Mybatis的介绍和基本使用
2019-03-06
Idea使用tool window中的persistence功能一键生成数据库实体
2019-03-06
Redis简介(数据结构,哨兵、集群和SpringDataRedis)
2019-03-06
jar包破解Idea
2019-03-06
MySQL锁机制
2019-03-06
软件设计模式修炼 -- 模板方法模式
2019-03-06
Java设置PPT幻灯片背景——纯色、渐变、图片背景
2019-03-06
Java 设置PDF文档浏览偏好
2019-03-06
Java 添加、替换、删除PDF中的图片
2019-03-06
C#中构造函数的作用
2019-03-06
Go 数组&切片
2019-03-06
Go 文件操作
2019-03-06
drf Serializer基本使用
2019-03-06