Hộp văn bản tkinter python chèn dòng mới

Các tiện ích văn bản cho phép các nhà phát triển làm việc với nhiều dòng văn bản trong các ứng dụng đồ họa Python. Chúng cung cấp cho các lập trình viên khả năng lấy, chèn và xóa nhiều dòng văn bản, không giống như các hộp nhập chỉ hoạt động với đầu vào một dòng

Cũng giống như các tiện ích nhập cảnh, các tiện ích văn bản sử dụng cùng một bộ ba phương thức để nhận, chèn và xóa văn bản. Tuy nhiên, cách sử dụng của chúng khác nhau đáng kể, vì bạn hiện đang xử lý nhiều hơn một dòng văn bản

Trong hướng dẫn lập trình Python này, chúng ta sẽ tìm hiểu cách tạo các widget văn bản bằng thư viện Tkinter để sử dụng trong các ứng dụng dựa trên GUI

Đọc. Cách tạo ứng dụng GUI Python đầu tiên của bạn

Tạo Widget văn bản bằng Python

Bước đầu tiên bạn cần biết là cách tạo widget văn bản. Đơn giản chỉ cần khởi tạo lớp Văn bản để làm như vậy

>>> import tkinter as tk
>>> window = tk.Tk[]
>>> text_widget = tk.Text[] # creates text widget
>>> text_widget.pack[]

Sau khi chạy các lệnh trên trong trình bao Python của bạn, bạn sẽ thấy một trường văn bản trống lớn. Trường này chưa thể chấp nhận văn bản. Nếu bạn thử gõ một số chữ cái, bạn sẽ nhận thấy rằng chúng không được hiển thị trong đó

Để làm cho nó hoạt động [nghĩa là sẵn sàng chấp nhận văn bản], hãy nhấp chuột vào vùng văn bản

Tiếp theo, nhập văn bản sau. Lập trình Tkinter. Đặt Tkinter ở dòng đầu tiên và Lập trình ở dòng tiếp theo

Bây giờ, bạn đã quản lý để đưa một số văn bản người dùng vào tiện ích. Đôi khi, bạn sẽ thấy rằng bạn cần nắm bắt văn bản này và chuyển nó cho một hàm. Để làm điều này, bạn sẽ cần sử dụng phương thức get[] và sau đó truyền giá trị cho một biến

Cách sử dụng get[] với tiện ích văn bản khác với tiện ích mục nhập. Bạn sẽ cần xác định một hoặc hai tham số trong get[]. Bạn có thể xác định một tham số trong trường hợp bạn chỉ muốn lấy một ký tự. Để nắm bắt một phạm vi ký tự, bạn sẽ cần xác định cả hai tham số

Các tham số được xác định trong get[] là sự kết hợp hai phần của dòng có ký tự và chỉ mục của ký tự đó trên dòng

:

Giá trị dòng bắt đầu từ 1. Giá trị chỉ mục bắt đầu từ 0

Ví dụ: nếu bạn muốn chụp từ Tkinter từ ví dụ trước, bạn sẽ nhập mã sau

>>> word = text_widget.get[1.0, 1.8]

Nói cách khác, lệnh trên bắt ký tự ở chỉ số 0 trên dòng 1 cho đến ký tự ở chỉ số 7 trên dòng 1. Điều quan trọng là bạn cần lưu ý rằng get[] không nắm bắt ký tự ở chỉ mục kết thúc được chỉ ra trong đối số thứ hai – nó dừng ở chỉ mục trước đó

Thay vào đó, nếu bạn muốn chụp tất cả văn bản [tất cả các dòng văn bản] trong tiện ích, bạn sẽ phải sử dụng ký tự đặc biệt tk. CHẤM DỨT

>>> text1 = text_widget.get[ 1.0, tk.END]

Đọc. Các khóa học trực tuyến hàng đầu để học Python

Chèn văn bản vào Widget trong Python

To insert text in the widget, you need to use insert[]. This method takes in two parameters. The first is : just like in get[]. The second is the string to be inserted.

Ví dụ: lệnh bên dưới chèn chuỗi Python vào đầu dòng đầu tiên. Nếu có bất kỳ văn bản nào ở chỉ mục bắt đầu, nó sẽ được đẩy sang bên phải

>>> text_widget.insert[ "1.0", "Python"]

Nếu bạn muốn thêm văn bản vào một dòng mới, thì bạn cũng làm như trên. Tuy nhiên, bạn sẽ cần thêm một ký tự xuống dòng vào chuỗi của mình. Nếu không, văn bản sẽ được thêm vào văn bản trên dòng trước đó

>>> text2 = text_widget.insert[ "1:0", "\nProgram"]

Đôi khi bạn có thể cần thêm văn bản vào cuối văn bản mà bạn hiện có. Bạn có thể cảm thấy phiền phức khi luôn phải theo dõi chỉ số cuối cùng. Để đơn giản hóa công việc của bạn, thay vào đó bạn có thể sử dụng ký tự đặc biệt tk. CHẤM DỨT

>>> text_widget.insert [ tk.END,  "Text at the end"]

Xóa văn bản khỏi Widget văn bản trong Python

Để xóa văn bản, bạn cần sử dụng phương thức delete[]. Nếu bạn muốn xóa một ký tự, hãy chỉ định. cặp, như hình dưới đây

>>> text_widget.delete["1.6"]

Để xóa một dãy ký tự, hãy xác định các ký tự này giống như khi bạn sử dụng get[]

________số 8

Trong trường hợp bạn muốn xóa toàn bộ hộp văn bản, hãy sử dụng tk. END làm đối số thứ hai của bạn

>>> text_widget.delete["1.0", tk.END]

Đọc. Cách chấp nhận đầu vào trong Python

Kết luận để tạo Widget văn bản với Tkinter

Tiện ích văn bản Python cho phép ứng dụng của bạn nắm bắt và sử dụng nhiều dòng văn bản, không giống như tiện ích mục nhập. Do đó, bạn nên sử dụng nó trong trường hợp bạn mong đợi một văn bản nhiều dòng từ người dùng ứng dụng của mình

Xin nhắc lại, hãy nhớ đặt ký tự xuống dòng [\n] trong trường hợp bạn đang chèn văn bản trên một dòng mới trong hộp văn bản của mình

Tiện ích nào được sử dụng cho trường văn bản nhiều dòng?

Tiện ích con văn bản cung cấp vùng văn bản nhiều dòng cho người dùng. Phiên bản tiện ích văn bản được tạo với sự trợ giúp của lớp văn bản. Nó cũng được sử dụng để hiển thị các dòng văn bản và cũng cho phép chỉnh sửa văn bản.

Chức năng tkinter có thể vẽ một đường thẳng là gì?

Trong Tkinter, Canvas. Phương thức create_line[] được sử dụng để tạo các đường kẻ trong bất kỳ canvas nào. Những dòng này chỉ có thể được nhìn thấy trên canvas nên trước tiên, bạn cần tạo một đối tượng Canvas và sau đó đóng gói nó vào cửa sổ chính.

Bạn có thể đặt văn bản trong khung tkinter không?

Để thêm văn bản bên trong khung tkinter, chúng ta có thể sử dụng phương thức create_text[] . Chúng ta có thể định nghĩa create_text[] bằng cách thêm các giá trị của phông chữ, văn bản và các tùy chọn khác, chẳng hạn như create_text[x,y,font, text, options…. ].

Bạn có thể kéo và thả trong tkinter không?

Tkinter. mô-đun dnd cung cấp hỗ trợ kéo và thả cho các đối tượng trong một ứng dụng, trong cùng một cửa sổ hoặc giữa các cửa sổ . Để cho phép kéo một đối tượng, bạn phải tạo một liên kết sự kiện cho đối tượng đó để bắt đầu quá trình kéo và thả.

Chủ Đề