鱼C论坛

 找回密码
 立即注册
查看: 1576|回复: 1

还是关于使用pywin32在tkinter上画图的问题

[复制链接]
发表于 2019-9-10 14:46:43 | 显示全部楼层 |阅读模式
50鱼币
用pywin32怎么获得tkinter的root窗口下的子控件的句柄呢?

用pywin32这样可以得到tkinter父窗口句柄
  1. from win32gui import *
  2. import win32con
  3. import pywintypes
  4. from tkinter import *

  5. root=Tk()

  6. hwnd = pywintypes.HANDLE(int(root.frame(), 16))
  7. hdc=GetDC(hwnd)
复制代码


那我在tkinter的root窗口上,建一个Canvas子控件,我要怎么得到Canvas的句柄呢
比方
cv=Canvas(root,width=400,height=400)
我尝试用cv.frame,提示Cnavas控件没有frame属性,还有cv.master.frame()获得的也是父窗口的句柄
我尝试用GetDlgItem()但是这个函数要传入子控件的ID,Canvas的ID我不知道是什么

我好无助啊,有人能帮我解答一下么?

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-9-10 20:00:08 | 显示全部楼层
貌似又找到方法了,用控件的winfo_id()方法就可以

  1. hwnd = cv.winfo_id()
复制代码


主窗口也有这种方法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-16 19:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表