PyQt5 桌面小工具

本文介绍如何利用Python的PyQt5库开发桌面应用程序,包括窗口设计、控件使用和事件处理,助你轻松打造个性化桌面小工具。
摘要由CSDN通过智能技术生成
# -*- 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 &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

佐倉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值