栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Tkinter:鼠标拖动无边界的窗口,例如。覆盖直接(1)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Tkinter:鼠标拖动无边界的窗口,例如。覆盖直接(1)

是的,Tkinter提供了足够的功能来执行此操作,并且不,没有更简单/更高级的方法来实现您想要的操作。您几乎有正确的想法。

这不是一个唯一的示例,但这不是唯一的方法:

import tkinter as tkclass App(tk.Tk):    def __init__(self):        tk.Tk.__init__(self)        self.floater = FloatingWindow(self)class FloatingWindow(tk.Toplevel):    def __init__(self, *args, **kwargs):        tk.Toplevel.__init__(self, *args, **kwargs)        self.overrideredirect(True)        self.label = tk.Label(self, text="Click on the grip to move")        self.grip = tk.Label(self, bitmap="gray25")        self.grip.pack(side="left", fill="y")        self.label.pack(side="right", fill="both", expand=True)        self.grip.bind("<ButtonPress-1>", self.start_move)        self.grip.bind("<ButtonRelease-1>", self.stop_move)        self.grip.bind("<B1-Motion>", self.do_move)    def start_move(self, event):        self.x = event.x        self.y = event.y    def stop_move(self, event):        self.x = None        self.y = None    def do_move(self, event):        deltax = event.x - self.x        deltay = event.y - self.y        x = self.winfo_x() + deltax        y = self.winfo_y() + deltay        self.geometry(f"+{x}+{y}")app=App()app.mainloop()


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/637883.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号