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框架创建一个带上下文菜单和鼠标事件处理的窗口应用程序。开发者可以根据实际需求进行定制和扩展。

上一篇:maya窗口添加背景标签
下一篇:windows使用AutoHotkey工具切换用户

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2025年04月12日 11时36分47秒