Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách tạo cửa sổ Tkinter có thể resize mà không có thanh tiêu đề


Để 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.

Cách tạo cửa sổ Tkinter có thể resize mà không có thanh tiêu đề