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

Cách căn giữa widget Tkinter trong frame sticky

Tkinter có nhiều hàm và phương thức tích hợp cấu hình thuộc tính widget. Các thuộc tính này khác nhau tùy trình quản lý hình học. Trình quản lý grid geometry manager giải quyết nhiều vấn đề bố cục phức tạp. Grid thêm widget vào không gian cho trước (nếu áp dụng) không chồng chéo.

Giả sử ta tạo sticky frame bằng Grid geometry manager và muốn căn giữa widget Label text bên trong frame. Trong trường hợp này, ta phải làm cho cửa sổ chính sticky bằng cách cấu hình thuộc tính row và column. Khi cửa sổ chính sticky với frame, nó làm cho widget bất kỳ co giãn hợp lý. Widget label phải sticky. Bây giờ, để căn giữa widget, chỉ định giá trị row, column và weight.

Ví dụ

# Import thư viện cần thiết
from tkinter import *

# Tạo instance của frame tkinter
win = Tk()

# Đặt kích thước cửa sổ Tkinter
win.geometry("700x350")

# Thêm frame đặt kích thước cửa sổ
frame = Frame(win, relief='sunken')
frame.grid(sticky="we")

# Làm frame sticky cho mọi trường hợp
frame.grid_rowconfigure(0, weight=1)
frame.grid_columnconfigure(0, weight=1)

# Làm cửa sổ sticky cho mọi trường hợp
win.grid_rowconfigure(0, weight=1)
win.grid_columnconfigure(0, weight=1)

# Thêm widget label
label = Label(frame, text="Hey Folks! Welcome to Tutorialspoint",
              font=('Helvetica 15 bold'), bg="white")
label.grid(row=3, column=0)
label.grid_rowconfigure(1, weight=1)
label.grid_columnconfigure(1, weight=1)

win.mainloop()

Kết quả

Thực thi mã trên sẽ hiển thị văn bản Label căn giữa nằm trong sticky frame.

Cách căn giữa widget Tkinter trong frame sticky