python - tkinter 小部件在拖动窗口时消失
问题描述
我在使用后制作了一个可移动的小部件overrideredirect(1)
,一切都很好,除了当我快速左右拖动窗口多次或拖动它直到我的屏幕边框时,它里面的小部件正在消失。
这是我的代码:
from tkinter import *
import mouse
root = Tk()
root.overrideredirect(1)
root.geometry("700x200+500+200")
BG = Label(root, bd=0)
BG.pack(fill=BOTH, expand=True)
var1 = StringVar()
entry1 = Entry(BG, width=80, textvariable=var1)
entry1.place(x=170,y=57)
#-----------------------------------------------
var2 = StringVar()
entry2 = Entry(BG,width=80, textvariable=var2)
entry2.place(x=170,y=100)
def standard_bind():
BG.bind('<B1-Motion>', lambda e: event(e, Mode=True))
def event(widget, Mode=False):
global x, y
if Mode:
x = widget.x
y = widget.y
BG.bind('<B1-Motion>', lambda e: event(e))
root.geometry('+%d+%d' % (mouse.get_position()[0]-x, mouse.get_position()[1]-y))
BG.bind('<B1-Motion>', lambda e: event(e, Mode=True))
BG.bind('<ButtonRelease-1>', lambda e: standard_bind())
root.mainloop()
解决方案
推荐阅读
- unix - 如何从 curl 输出中查找最新版本信息
- javascript - 自定义画廊 Gutenberg 块中的空图像数组
- kubernetes - 为什么创建 kubernetes 集群后 /var/lib/cni/networks 为空?
- spring - 防止数据在重试失败调用时持续存在 - Spring Retry
- android - Xamarin 形成日期选择器绑定日期并在日期更改时执行某些操作
- javascript - 如何使用javascript根据另一个div元素的位置放置弹出窗口并做出反应?
- jsf - Primefaces Datatable过滤问题,用于下拉作为数据输入
- angular - 角度错误 TS2339 属性在类型上不存在
- sql - 在其他条件下查找 MIN 值 Teradata
- python - 获取 matplotlib 分散的 3D 点以按 3 个数组的乘积显示颜色