添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
光明磊落的葡萄酒  ·  Python Tkinter ...·  5 天前    · 
冷冷的红金鱼  ·  集团动态·  1 周前    · 
近视的大象  ·  在IDEA中 ...·  3 月前    · 
奋斗的麦片  ·  Version 0.21.0 ...·  9 月前    · 
Python的tkinter模块另类玩法,实现真正的嵌套窗口

Python的tkinter模块另类玩法,实现真正的嵌套窗口

tkinter创建真正的嵌套子窗口

  • 引言
  • 获取窗口句柄方法一方法二
  • 创造嵌入窗口
  • 嵌套在组件中
  • 结语

点击此处,获取海量Python学习资料!

引言

在我之前的这篇纯tkinter创建嵌套子窗口的文章中,只提及了3种方法,原因就是,那三种方法都是建立在相对高层的代码上的。而这次需要使用系统(Windows)的底层api,来创建真正意义上的嵌套子窗口。

需要注意的是,这次的子窗口是完全真正的窗口,也就是tkinter的子窗口功能全开。不过,这篇文章并不是由纯tkinter实现。

我们没必要去寻找 Windows-api,已经有人帮我们弄好了,这次需要用到 win32gui (下载 pywin32 就可以了) 。除了单独下载 pywin32,在测试阶段还需要使用 pygetwindow,用 pip install PyGetWindow 就可以了。

获取窗口句柄

方法一

win32gui已经给出了方法,如下:

import win32gui
import pygetwindow as gw
hwnd = win32gui.FindWindow(None, u"窗口名称")

然而在测试就阶段,有些窗口的标题很难准确确定,那么就要使用 pygetwindow 了。

titles = gw.getAllTitles()
print(titles)

方法二

同样的,pygetwindow 也提供了通过标题一个获取窗口句柄的方式。

import re