CodeGym /Các khóa học /Python SELF VI /Nút bấm và ô nhập liệu

Nút bấm và ô nhập liệu

Python SELF VI
Mức độ , Bài học
Có sẵn

1. Tạo Nút bấm trong Tkinter

Tại sao cần điều này?

Hãy tưởng tượng bạn đang tạo một ứng dụng máy tính. Ai mà dùng nếu không thể nhập dữ liệu và bấm nút bằng nhau? Hoặc có thể bạn đang phát triển form nhập dữ liệu. Đó, ở đây ô nhập liệu và nút bấm là cực kỳ phù hợp.

Nút bấm và ô nhập liệu cho phép người dùng tương tác trực tiếp với chương trình và hành vi của nó. Nó giống như một chiếc đũa thần, biến một cửa sổ thụ động thành công cụ chủ động.

Nút bấm trong Tkinter trông như thế nào?

Thư viện Tkinter cung cấp widget Button để tạo nút bấm. Widget này khá linh hoạt và cho phép tùy chỉnh văn bản trên nút, màu sắc, cũng như gán hành động sẽ thực hiện khi nhấn nút.

Đây là cách thực hiện:

import tkinter as tk

# Tạo cửa sổ chính
root = tk.Tk()
root.title("Ứng dụng của tôi")

# Tạo nút bấm và thêm vào cửa sổ
button = tk.Button(root, text="Nhấn tôi!", command=lambda: print("Nút được nhấn!"))
button.pack()

# Khởi chạy vòng lặp chính
root.mainloop()

Chú ý tham số command: nó cho phép liên kết một hành động cụ thể với nút bấm. Trong ví dụ này, khi nhấn nút, một thông báo "Nút được nhấn!" sẽ được in ra console.

Tùy chỉnh nút bấm cho đẹp hơn

Tất nhiên bạn muốn nút bấm không chỉ hoạt động mà còn trông hấp dẫn. Hãy thêm một chút sáng tạo:

button = tk.Button(root, text="Nhấn tôi!", command=lambda: print("Nút được nhấn!"), bg="blue", fg="white", font=("Helvetica", 16))
button.pack(pady=10)
  • bgfg — chịu trách nhiệm về màu nền và màu chữ, tương ứng.
  • font — cho phép chọn font chữ và kích thước của nó.
  • pady — khoảng cách dọc, để nút có không gian thở.

2. Ô Nhập liệu với Tkinter

Bây giờ đến ô nhập liệu. Đây là những ô nhỏ, nơi mà người dùng của bạn có thể nhập mong muốn của mình (và nhiều thứ khác nữa).

Ô nhập văn bản đơn giản

Tạo một ô nhập liệu đơn giản với widget Entry:

entry = tk.Entry(root)
entry.pack()

Nhưng tạo ô nhập liệu mà không thể lấy được dữ liệu thì có ích gì? Hãy học cách làm điều đó!

def get_input():
    user_input = entry.get()
    print(f"Người dùng nhập: {user_input}")

entry = tk.Entry(root)
entry.pack()

button = tk.Button(root, text="Nhận dữ liệu", command=get_input)
button.pack()

Tuyệt, giờ chúng ta có nút bấm để in ra màn hình những gì đã được nhập vào ô.

Trang trí ô nhập liệu

Cũng như nút bấm, ô nhập liệu cũng có thể được trang trí:

entry = tk.Entry(root, font=("Arial", 14), fg="black", bg="lightyellow")
entry.pack(padx=5, pady=5)

Ở đây, chúng ta đã đặt font chữ, màu văn bản và màu nền. Tham số padxpady thêm khoảng cách ngang và dọc tương ứng.

3. Ứng dụng thực tế

Hãy kết hợp tất cả lại và tạo một ứng dụng, nơi người dùng có thể nhập dữ liệu và nhấn nút để xử lý thông tin đã nhập. Chúng ta sẽ tạo một máy tính nhỏ để cộng các số đã nhập.

import tkinter as tk

def calculate():
    try:
        # Lấy giá trị từ các ô nhập liệu
        number1 = float(entry1.get())
        number2 = float(entry2.get())
        
        # Tính toán tổng
        result = number1 + number2
        
        # Cập nhật văn bản kết quả
        result_label.config(text=f"Kết quả: {result}")
    except ValueError:
        result_label.config(text="Hãy nhập số hợp lệ!")

# Tạo cửa sổ chính
root = tk.Tk()
root.title("Máy tính đơn giản")

# Ô nhập liệu cho các số
entry1 = tk.Entry(root, width=10)
entry1.pack(pady=5)
entry2 = tk.Entry(root, width=10)
entry2.pack(pady=5)

# Nút bấm cho tính toán
calculate_button = tk.Button(root, text="Cộng", command=calculate)
calculate_button.pack(pady=10)

# Nhãn để hiển thị kết quả
result_label = tk.Label(root, text="Kết quả: ")
result_label.pack()

# Khởi chạy vòng lặp chính
root.mainloop()

Vậy là chúng ta đã tạo một ứng dụng nhỏ nhưng đầy tự hào, một máy tính cho phép người dùng nhập dữ liệu và xem kết quả.

Gỡ lỗi khi làm việc với các widget

Khi làm việc với nút bấm và ô nhập liệu, bạn có thể gặp một số lỗi tiêu biểu. Ví dụ, handler của nút bấm không được kích hoạt. Nguyên nhân thường là thiếu tham số command hoặc lỗi cú pháp trong lambda function.

Cũng hay gặp lỗi liên quan đến việc nhập dữ liệu không hợp lệ. Vì vậy, đừng quên kiểm tra và xử lý dữ liệu nhập vào, như chúng ta đã làm trong máy tính của mình, để tránh xảy ra vấn đề.

Vậy là hết rồi! Giờ bạn đã biết cách thêm nút bấm và ô nhập liệu vào ứng dụng của mình, để làm cho tương tác với người dùng trở nên thú vị và hấp dẫn. Bước tiếp theo là xử lý sự kiện khi nhấn nút, nhưng về phần này sẽ có trong bài giảng tiếp theo!

1
Nhiệm vụ
Python SELF VI, mức độ, bài học
Đã khóa
Tạo GUI đơn giản với một nút bấm
Tạo GUI đơn giản với một nút bấm
2
Nhiệm vụ
Python SELF VI, mức độ, bài học
Đã khóa
Trường nhập liệu và nút bấm
Trường nhập liệu và nút bấm
3
Nhiệm vụ
Python SELF VI, mức độ, bài học
Đã khóa
Ứng dụng với nhiều nút bấm và trường nhập liệu
Ứng dụng với nhiều nút bấm và trường nhập liệu
4
Nhiệm vụ
Python SELF VI, mức độ, bài học
Đã khóa
Tạo ứng dụng máy tính với Tkinter
Tạo ứng dụng máy tính với Tkinter
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION