# -*- coding: utf-8 -*-
from PyQt5 import QtWidgets as QtGui
from PyQt5 import QtCore
from PyQt5.QtGui import *
import os
import sys
import subprocess
from multiprocessing import Process
class Tray_(QtGui.QLabel):
def __init__(self, parent=None):
QtGui.QLabel.__init__(self, parent)
self.setWindowTitle("Tray!")
self.setAcceptDrops(True)
self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
self.setAttribute(QtCore.Qt.WA_TranslucentBackground)
self.setWindowFlags(QtCore.Qt.FramelessWindowHint | QtCore.Qt.Tool)
self.setAttribute(QtCore.Qt.WA_TranslucentBackground);
self.setWindowOpacity(1)
self._image=QtGui.QLabel()
self._pic=QPixmap('timg.png')
self._image.setPixmap(self._pic)
self._image.setMask(self._pic.mask())
layout = QtGui.QVBoxLayout()
layout.addWidget(self._image,4)
self.setLayout(layout)
self._image.setScaledContents(True)
self._image.setAlignment(QtCore.Qt.AlignCenter)
self.dragPosition=None
self.show()
self.resize(100,100)
self.move(1000,200)
self.createContextMenu()
def createContextMenu(self):
self.contextMenu = QtGui.QMenu(self)
self.actionA = self.contextMenu.addAction(u'A')
self.actionB = self.contextMenu.addAction(u'B')
self.actionC = self.contextMenu.addAction(u'C')
self.actionA.triggered.connect(self.action_A)
self.actionB.triggered.connect(self.action_B)
self.actionC.triggered.connect(self.action_C)
def action_A(self):
pass
def action_B(self):
pass
def action_C(self):
pass
def action_close(self):
self.close()
def mousePressEvent(self,event):
if event.button()==QtCore.Qt.LeftButton:
self.dragPosition=event.globalPos()-self.frameGeometry().topLeft()
event.accept()
def mouseMoveEvent(self,event):
if event.buttons()& QtCore.Qt.LeftButton:
self.move(event.globalPos()-self.dragPosition)
event.accept()
def login(self,path):
gettime= ("\""+ path +"\"")
try:
cmd=r"D:/program/Python2.7/python2.exe "+(gettime)#改成你的python路径即可执行python2或python3程序,如果没有界面无法执行
subprocess.Popen(cmd, shell=True)#如果有类似cmd的选择界面,将后缀改为py即可运行。
#os.system(cmd)
except Exception as e:
print (e)
def dragEnterEvent( self, event ):
data = event.mimeData()
urls = data.urls()
if ( urls and urls[0].scheme() == 'file' ):
event.acceptProposedAction()
def dragMoveEvent( self, event ):
data = event.mimeData()
urls = data.urls()
if ( urls and urls[0].scheme() == 'file' ):
event.acceptProposedAction()
def dropEvent( self, event ):
data = event.mimeData()
urls &
PyQt5 桌面小工具
最新推荐文章于 2024-05-15 08:07:54 发布
本文介绍如何利用Python的PyQt5库开发桌面应用程序,包括窗口设计、控件使用和事件处理,助你轻松打造个性化桌面小工具。
摘要由CSDN通过智能技术生成