>백엔드 개발 >파이썬 튜토리얼 >Python에서 WeChat 창의 움직임을 실시간으로 따라가는 GUI 인터페이스를 구현하는 방법

Python에서 WeChat 창의 움직임을 실시간으로 따라가는 GUI 인터페이스를 구현하는 방법

WBOY
WBOY앞으로
2023-05-14 19:16:041161검색

Python으로 간단한 GUI 인터페이스를 작성하는 것은 매우 간단하며, Python에는 풍부한 라이브러리가 있습니다. 이러한 라이브러리를 사용하면 Windows 시스템을 매우 편리하게 작동할 수 있어 많은 정교한 장치를 만들 수 있습니다. 본 글의 사례는 Python을 이용하여 WeChat PC 버전 클라이언트 창의 상태를 실시간으로 모니터링하고 WeChat PC 버전의 오른쪽을 실시간으로 따라가는 창을 생성하는 간단한 예시입니다.

Code

import tkinter as tk
import win32gui
import win32con

class FollowWeChatWindow(tk.Tk):
    def __init__(self):
        super().__init__()

        # 隐藏窗口边框和标题栏
        self.overrideredirect(True)
        self.title("跟随微信的窗口")

        # 窗口置顶
        self.wm_attributes('-topmost', True)

        # 创建一个标签,用于显示窗口位置信息
        self.label = tk.Label(self, text='')
        self.label.pack()

        # 启动定时器
        self.after(50, self.update_window)

    def update_window(self):
        # 获取微信窗口句柄和位置
        wechat_hwnd = win32gui.FindWindow('WeChatMainWndForPC', None)
        if wechat_hwnd:
            wechat_rect = win32gui.GetWindowRect(wechat_hwnd)

            # print(win32gui.GetWindowText(win32gui.GetForegroundWindow()))
            # 获取当前鼠标点击的窗口的句柄的标题
            getClickHownTitle = win32gui.GetWindowText(win32gui.GetForegroundWindow())

            # 判断微信窗口状态,显示或隐藏本窗口
            if win32gui.GetForegroundWindow() == wechat_hwnd:
                # 当前点击的句柄=微信的句柄
                self.wm_attributes('-alpha', 1.0)
            elif getClickHownTitle == '跟随微信的窗口':
                # 当前点击的窗口的标题=跟随微信的窗口
                self.wm_attributes('-alpha', 1.0)
            else:
                # 不满足以上两个条件的其中一条,都得隐藏窗口
                self.wm_attributes('-alpha', 0.0)

            print(getClickHownTitle)

            # 获取微信窗口高度
            WeChat_Height = wechat_rect[3] - wechat_rect[1]

            # 更新本窗口位置
            self.geometry('200x%d+%d+%d' % (WeChat_Height, wechat_rect[2], wechat_rect[1]))

            # 更新标签文本
            self.label.configure(text=win32gui.GetForegroundWindow())

        else:
            # 微信窗口未找到,隐藏本窗口
            self.wm_attributes('-alpha', 0.0)

        # 继续定时器
        self.after(50, self.update_window)

if __name__ == '__main__':
    app = FollowWeChatWindow()
    app.mainloop()

코드 설명

이 예에서는 Python과 함께 제공되는 tkinter 인터페이스 라이브러리를 사용하여 창 너비가 200이고 높이가 WeChat 창과 일치하는 간단한 테두리 없는 창을 구현합니다. WeChat 클라이언트의 핸들을 가져와 WeChat 창의 위치와 크기를 실시간으로 가져오고 타이머를 시작하여 WeChat의 표시 상태를 실시간으로 가져오고 50ms마다 상태를 업데이트하여 다음 목적을 달성합니다.

애니메이션 데모

Python에서 WeChat 창의 움직임을 실시간으로 따라가는 GUI 인터페이스를 구현하는 방법

위 내용은 Python에서 WeChat 창의 움직임을 실시간으로 따라가는 GUI 인터페이스를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제