Để tạo cửa sổ không thanh tiêu đề nhưng vẫn resize được, dùng overrideredirect(True) kết hợp widget Sizegrip (góc kéo thả).
- Gọi
win.overrideredirect(True)ẩn thanh tiêu đề. - Thêm
ttk.Sizegrip()đặt góc dưới phải. - Bind sự kiện
để cập nhật kích thước cửa sổ khi kéo.
Ví dụ minh họa
from tkinter import *
from tkinter import ttk
win = Tk()
win.geometry("700x350")
win.overrideredirect(True)
def moveMouseButton(e):
x1 = win.winfo_pointerx()
y1 = win.winfo_pointery()
x0 = win.winfo_rootx()
y0 = win.winfo_rooty()
win.geometry("%sx%s" % ((x1-x0), (y1-y0)))
Label(win, text="Kéo góc dưới phải để resize cửa sổ").pack(side="top", fill="both", expand=True)
grip = ttk.Sizegrip()
grip.place(relx=1.0, rely=1.0, anchor="se")
grip.lift()
grip.bind("", moveMouseButton)
win.mainloop()
Kết quả đầu ra
Cửa sổ không thanh tiêu đề, kéo góc Sizegrip để thay đổi kích thước.
