本软件的目的是将图片置顶显示,可以避免在处理其他工作时被其他窗口干扰,从而提高工作效率。比如:在抄图的时候,需要根据零件尺寸绘制3D图,此时需要频繁的进行窗口切换进行绘制,而使用图片置顶软件,并调整好图片的透明度即可在3D制图软件中直接绘制。
这段代码是使用PyQt5创建的一个简单窗口应用程序的部分代码。下面是这段代码的完整架构流程:
创建动画:
QPropertyAnimation
,目标对象是line_edit
部件,动画属性是b"geometry"
,即改变line_edit
的几何属性。line_edit
当前的几何属性,结束值为将line_edit
的宽度增加200像素。设置定时器:
QTimer
。scroll_text
方法,这意味着每当定时器超时时,都会执行scroll_text
方法。定义滚动文本方法:
scroll_text
方法中,获取line_edit
中的文本和光标位置。设置窗口位置:
QDesktopWidget().screenGeometry()
获取屏幕的几何属性。处理拖拽事件:
dragEnterEvent
方法中,检查拖拽事件是否有URL数据,如果有则接受该事件,否则忽略。dropEvent
方法中,如果拖拽事件有URL数据,则获取URL并加载图片到image_label
中,并启用滑块控件。然后接受该事件。如果拖拽事件没有URL数据,则忽略该事件。设置窗口不透明度:
set_opacity
方法中,根据滑块的当前值设置窗口的不透明度。如果滑块的值大于20,则窗口的不透明度设置为滑块值除以100的百分比。设置窗口置顶:
set_window_on_top
方法中,如果下拉框的当前选项为"Window 1",则将窗口设置为置顶窗口。#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2023-09-10 9:46
# @Author : Leuanghing Chen
# @Blog : https://blog.csdn.net/weixin_46153372?spm=1010.2135.3001.5421
# @File : 图片置顶工具.py
# @Software : PyCharm
# pyinstaller --exclude-module EXCLUDES --onefile -F -w -i D:\python_demo\图片置顶工具\abg3u-4ef7b-001.ico D:\python_demo\图片置顶工具\图片置顶工具.py
import sys
from PyQt5.QtWidgets import QMainWindow, QLabel, QSlider, QVBoxLayout, QWidget, QApplication, QDesktopWidget, QComboBox, \
QLineEdit
from PyQt5.QtGui import QPixmap, QIcon, QFont
from PyQt5.QtCore import Qt, QEvent, QPropertyAnimation, QEasingCurve, QPoint, QRect, QTimer
class ImageWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('PyQt5 Image Tool')
self.setAcceptDrops(True)
self.image_label