ホームページ >バックエンド開発 >Python チュートリアル >WeChatウィンドウの動きにリアルタイムで追従するGUIインターフェースをPythonで実装する方法
Python で簡単な GUI インターフェイスを記述するのは非常に簡単で、Python には豊富なライブラリがあります。これらのライブラリを使用すると、Windows システムの操作が非常に便利になります。このインターフェイスを使用すると、多くの精巧なガジェットを作成できます。この記事のケースは簡単な例で、Python を使用して、WeChat PC 版クライアント ウィンドウの状態をリアルタイムで監視し、WeChat PC 版の右側にリアルタイムで追従するウィンドウを作成します。
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 の単純なボーダーレス ウィンドウを実装します。高さ 200 WeChat ウィンドウと一致します。 WeChat クライアントのハンドルを取得して WeChat ウィンドウの位置とサイズをリアルタイムで取得し、タイマーを開始して WeChat の表示ステータスをリアルタイムで取得し、50 ミリ秒ごとにステータスを更新して、次の目的を達成します。
以上がWeChatウィンドウの動きにリアルタイムで追従するGUIインターフェースをPythonで実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。