Computer >> Máy Tính >  >> Lập trình >> Python

Tạo bố cục tkinter GUI bằng cách sử dụng khung và lưới

Tkinter là một thư viện Python nổi tiếng để tạo các ứng dụng dựa trên GUI. Bạn có thể tạo một ứng dụng đầy đủ tính năng với sự trợ giúp của các widget, chức năng và mô-đun đã có trong thư viện Tkinter.

Đôi khi, việc chọn GUI phù hợp của ứng dụng trở thành một nhiệm vụ khó khăn đối với nhiều người trong chúng ta. Tkinter đi kèm với một tập hợp các chức năng và tiện ích mở rộng có sẵn để tạo ra các GUI đẹp mắt.

Nói chung, widget Frame trong Tkinter quản lý tất cả các widget trong một ứng dụng như một vùng chứa. Nó kế thừa tất cả các thuộc tính mà cửa sổ chính có thể chứa. Để thiết kế bố cục của các widget, chúng ta có thể sử dụng bất kỳ trình quản lý hình học nào. Geometry Manager giúp tạo bố cục của widget và đặt chúng theo một thứ tự nhất định. Trình quản lý hình học lưới đặt tất cả các widget ở dạng hệ tọa độ X và Y. Chúng tôi có thể cung cấp hàng cột thuộc tính để đặt tiện ích ở bất kỳ đâu trong ứng dụng.

Ví dụ

Trong ví dụ này, chúng tôi sẽ tạo GUI của Biểu mẫu đăng ký.

# Import the Required libraries
from tkinter import *

# Create an instance of tkinter frame or window
win = Tk()

# Set the size of the window
win.geometry("700x350")

# Add a Frame widget
frame = Frame(win)

# Define a function to get the data and display a message
def on_key_up():
   name = fname
   frame.pack_forget()
   win.configure(bg="green4")
   Label(win, text="Hey " + fname.get() + " Welcome to TutorialsPoint",
      font=('Segoe UI', 18, 'bold'),
      background="white").pack(pady=30)
# Create a Label widget
   Label(frame, text="Registration Form",
   font=('Helvetica 16 bold'),
background="green3").grid(row=5, column=0, pady=30)
frame.pack()

# Add Field for First Value
Label(frame, text="First Name").grid(row=7, column=0, padx=5)
fname = Entry(frame)
fname.grid(row=10, column=0, padx=10)

# Add Field for Second Value
Label(frame, text="Family name").grid(row=12, column=0, padx=5)
sname = Entry(frame)
sname.grid(row=15, column=0, padx=10)

# Add Field for Email Address
Label(frame, text="Email address").grid(row=17, column=0, padx=5)
email = Entry(frame)
email.grid(row=20, column=0, padx=10)

# Add another field for accepting password value
Label(frame, text="Enter a Password").grid(row=22, column=0, padx=5)
password = Entry(frame, show="*")
password.grid(row=25, column=0, padx=10)

# Create a button
Button(frame, text="Register", command=on_key_up).grid(row=15,
column=1, padx=5)

win.mainloop()

Đầu ra

Chạy đoạn mã trên sẽ hiển thị một mẫu biểu mẫu đăng ký và một nút để đăng ký thông tin.

Tạo bố cục tkinter GUI bằng cách sử dụng khung và lưới