【图片置顶工具.exe】

一、概要

【图片置顶工具.exe】_第1张图片

图1 软件操作界面

  本软件的目的是将图片置顶显示,可以避免在处理其他工作时被其他窗口干扰,从而提高工作效率。比如:在抄图的时候,需要根据零件尺寸绘制3D图,此时需要频繁的进行窗口切换进行绘制,而使用图片置顶软件,并调整好图片的透明度即可在3D制图软件中直接绘制。

二、完整架构流程

  这段代码是使用PyQt5创建的一个简单窗口应用程序的部分代码。下面是这段代码的完整架构流程:

  1. 创建动画:

    • 创建一个属性动画QPropertyAnimation,目标对象是line_edit部件,动画属性是b"geometry",即改变line_edit的几何属性。
    • 设置动画的持续时间为2000毫秒(2秒)。
    • 定义动画的起始和结束值:起始值为line_edit当前的几何属性,结束值为将line_edit的宽度增加200像素。
    • 设置动画的缓动曲线为线性。
    • 启动动画。
  2. 设置定时器:

    • 创建一个定时器QTimer
    • 将定时器的超时信号连接到scroll_text方法,这意味着每当定时器超时时,都会执行scroll_text方法。
    • 设置定时器的间隔为50毫秒。
    • 启动定时器。
  3. 定义滚动文本方法:

    • scroll_text方法中,获取line_edit中的文本和光标位置。
    • 如果光标位置等于文本长度,则将光标位置设置为0,否则将光标位置设置为下一位。
  4. 设置窗口位置:

    • 使用QDesktopWidget().screenGeometry()获取屏幕的几何属性。
    • 根据屏幕尺寸设置窗口的位置和大小。
  5. 处理拖拽事件:

    • dragEnterEvent方法中,检查拖拽事件是否有URL数据,如果有则接受该事件,否则忽略。
    • dropEvent方法中,如果拖拽事件有URL数据,则获取URL并加载图片到image_label中,并启用滑块控件。然后接受该事件。如果拖拽事件没有URL数据,则忽略该事件。
  6. 设置窗口不透明度:

    • set_opacity方法中,根据滑块的当前值设置窗口的不透明度。如果滑块的值大于20,则窗口的不透明度设置为滑块值除以100的百分比。
  7. 设置窗口置顶:

    • 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 

你可能感兴趣的:(python,pyqt5,置顶)