Giả sử chúng ta đã tạo một nút và một nhãn trong Tkinter Frame. Nhiệm vụ là cho phép văn bản nút tự động thay đổi kích thước thành cửa sổ chính của nó. Chúng tôi có thể tạo nút bằng cách sử dụng tiện ích nút . Tuy nhiên, có một số chức năng khác được sử dụng để tạo động nhãn nút.
Trong ví dụ này, chúng tôi sẽ tạo hai nút với một số nhãn trong đó. Bằng cách sử dụng Phương pháp lưới chẳng hạn như rowconfigure () và columnconfigure () , chúng tôi sẽ tự động thay đổi kích thước cửa sổ chính hoặc cửa sổ gốc.
Để làm cho văn bản của nút trở nên động, chúng tôi sẽ sử dụng lệnh bind (
Đầu tiên, chúng tôi sẽ thay đổi kích thước của văn bản nút theo chiều rộng và sau đó là chiều cao của nó.
Ví dụ
from tkinter import * win= Tk() win.geometry("700x300") #Dynamically resize the window and its widget Grid.rowconfigure(win, index=0, weight=1) Grid.columnconfigure(win, index=0, weight=1) #Define the function to change the size of the button text def resize(e): #Get the width of the button w= e.width/10 #Dynamically Resize the Button Text b.config(font=("Times New Roman",int(w))) #Resize the height if e.height <=300: b.config(font= ("Times New Roman",30)) elif e.height<100: b.config(font= ("Time New Roman", 10)) #Let us Create buttons, b=Button(win,text="Python") b.grid(row= 0, column=0, sticky= "nsew") win.bind('<Configure>', resize) win.mainloop()
Đầu ra
Chạy đoạn mã trên sẽ tạo ra một nút có văn bản “Python” và nút này có thể được thay đổi kích thước động.