Viết chương trình Python tạo GUI với hộp văn bản nút ok và nút thoát
Tiện ích nút được sử dụng để thêm các loại nút khác nhau vào ứng dụng python. Python cho phép chúng tôi định cấu hình giao diện của nút theo yêu cầu của chúng tôi. Nhiều tùy chọn có thể được đặt hoặc đặt lại tùy theo yêu cầu Show Chúng ta cũng có thể liên kết một phương thức hoặc chức năng với một nút được gọi khi nhấn nút Cú pháp sử dụng tiện ích nút được đưa ra bên dưới Một danh sách các tùy chọn có thể được đưa ra dưới đây SNOptionDescription1activebackgroundNó đại diện cho nền của nút khi di chuột qua nút. 2activeforegroundNó đại diện cho màu phông chữ của nút khi di chuột vào nút. 3BdIt biểu thị độ rộng đường viền tính bằng pixel. 4BgNó đại diện cho màu nền của nút. 5CommandIt được đặt thành cuộc gọi chức năng được lên lịch khi chức năng được gọi. 6FgMàu nền trước của nút. 7FontPhông chữ của văn bản nút. 8HeightChiều cao của nút. Chiều cao được biểu thị bằng số dòng văn bản đối với dòng văn bản hoặc số pixel đối với hình ảnh. 10HighlightcolorMàu của vùng sáng khi nút có tiêu điểm. 11ImageIt được đặt thành hình ảnh hiển thị trên nút. 12justifyNó minh họa cách biểu diễn nhiều dòng văn bản. Nó được đặt thành LEFT cho căn lề trái, RIGHT cho căn lề phải và CENTER cho căn giữa. 13PadxPhần đệm bổ sung cho nút theo hướng ngang. 14padyPhần đệm bổ sung cho nút theo hướng dọc. 15ReliefNó đại diện cho loại đường viền. Nó có thể là SUNKEN, RAISED, Rãnh và RIDGE. 17StateTùy chọn này được đặt thành DISABLED để làm cho nút không phản hồi. ACTIVE biểu thị trạng thái hoạt động của nút. 18Gạch chânĐặt tùy chọn này để làm cho văn bản của nút được gạch chân. 19WidthChiều rộng của nút. Nó tồn tại dưới dạng một số chữ cái cho các nút văn bản hoặc pixel cho các nút hình ảnh. 20WraplengthNếu giá trị được đặt thành số dương, các dòng văn bản sẽ được ngắt dòng để vừa với độ dài nàyTiện ích Nút là một tiện ích Tkinter tiêu chuẩn, được sử dụng cho các loại nút khác nhau. Nút là một tiện ích được thiết kế để người dùng tương tác với, tôi. e. nếu nút được nhấn bằng cách nhấp chuột, một số hành động có thể được bắt đầu. Chúng cũng có thể chứa văn bản và hình ảnh như nhãn. Mặc dù các nhãn có thể hiển thị văn bản ở nhiều phông chữ khác nhau, một nút chỉ có thể hiển thị văn bản ở một phông chữ duy nhất. Văn bản của một nút có thể kéo dài nhiều hơn một dòng Một hàm hoặc phương thức Python có thể được liên kết với một nút. Chức năng hoặc phương thức này sẽ được thực thi, nếu nút được nhấn theo một cách nào đó Đào tạo Python trực tiếp Thưởng thức trang này? Nhìn thấy. Tổng quan về các khóa học Python trực tiếp đăng ký tại đây Ví dụ cho lớp nútĐoạn script sau xác định hai nút. một để thoát khỏi ứng dụng và một để thực hiện hành động, tôi. e. in dòng chữ "Tkinter rất dễ sử dụng. " trên thiết bị đầu cuối import tkinter as tk def write_slogan(): print("Tkinter is easy to use!") root = tk.Tk() frame = tk.Frame(root) frame.pack() button = tk.Button(frame, text="QUIT", fg="red", command=quit) button.pack(side=tk.LEFT) slogan = tk.Button(frame, text="Hello", command=write_slogan) slogan.pack(side=tk.LEFT) root.mainloop() Kết quả của ví dụ trước trông như thế này Nội dung động trong nhãnTập lệnh sau đây hiển thị một ví dụ, trong đó nhãn được tự động tăng thêm 1 cho đến khi nhấn nút dừng Các ứng dụng máy tính hiện đại thân thiện với người dùng. Tương tác người dùng không bị hạn chế đối với I/O dựa trên bảng điều khiển. Chúng có giao diện người dùng đồ họa (GUI) tiện dụng hơn nhờ bộ xử lý tốc độ cao và phần cứng đồ họa mạnh mẽ. Các ứng dụng này có thể nhận đầu vào thông qua các lần nhấp chuột và có thể cho phép người dùng chọn từ các lựa chọn thay thế với sự trợ giúp của các nút radio, danh sách thả xuống và các thành phần GUI (hoặc tiện ích con) khác. Các ứng dụng như vậy được phát triển bằng cách sử dụng một trong các thư viện đồ họa khác nhau có sẵn. Thư viện đồ họa là bộ công cụ phần mềm có tập hợp các lớp xác định chức năng của các phần tử GUI khác nhau. Các thư viện đồ họa này thường được viết bằng C/C++. Nhiều trong số chúng đã được chuyển sang Python dưới dạng các mô-đun có thể nhập được. Một số trong số họ được liệt kê dưới đây Tkinter là cổng Python cho bộ công cụ Tcl-Tk GUI được phát triển bởi Fredrik Lundh. Mô-đun này đi kèm với các bản phân phối tiêu chuẩn của Python cho tất cả các nền tảng PyQtis, giao diện Python cho Qt, là một khung GUI đa nền tảng rất phổ biến PyGTK là mô-đun chuyển Python sang một bộ công cụ tiện ích GUI phổ biến khác có tên là GTK WxPython là một trình bao bọc Python xung quanh WxWidgets, một thư viện đồ họa đa nền tảng khác Hướng dẫn này giải thích việc sử dụng Tkinter trong việc phát triển các chương trình Python dựa trên GUI Ứng dụng GUI cơ bảnCác phần tử GUI và chức năng của chúng được xác định trong mô-đun Tkinter. Đoạn mã sau trình bày các bước tạo giao diện người dùng
Trước hết, nhập mô-đun TKinter. Sau khi nhập, hãy thiết lập đối tượng ứng dụng bằng cách gọi hàm 0 Đối tượng ứng dụng sau đó đi vào vòng lặp lắng nghe sự kiện bằng cách gọi phương thức 1. Ứng dụng hiện đang liên tục chờ đợi bất kỳ sự kiện nào được tạo trên các phần tử trong đó. Sự kiện có thể là văn bản được nhập vào trường văn bản, lựa chọn được thực hiện từ menu thả xuống hoặc nút radio, hành động nhấp chuột đơn/đôi, v.v. Chức năng của ứng dụng liên quan đến việc thực thi các chức năng gọi lại thích hợp để đáp ứng với một loại sự kiện cụ thể. Chúng ta sẽ thảo luận về xử lý sự kiện sau trong hướng dẫn này. Vòng lặp sự kiện sẽ kết thúc khi và khi nhấp vào nút đóng trên thanh tiêu đề. Đoạn mã trên sẽ tạo cửa sổ sauCửa sổ Python-TkinterTất cả các lớp tiện ích Tkinter được kế thừa từ lớp Widget. Hãy thêm các vật dụng được sử dụng phổ biến nhất Cái nútNút có thể được tạo bằng lớp Nút. Hàm tạo của lớp Nút yêu cầu tham chiếu đến cửa sổ chính và các tùy chọn Chữ ký. 2Bạn có thể đặt các thuộc tính quan trọng sau để tùy chỉnh một nút
Ví dụ. Cái nút Sao chép
NhãnNhãn có thể được tạo trong giao diện người dùng trong Python bằng lớp Nhãn. Trình tạo Nhãn yêu cầu đối tượng cửa sổ cấp cao nhất và các tham số tùy chọn. Các tham số của tùy chọn tương tự như đối tượng Button Sau đây thêm một nhãn trong cửa sổ Ví dụ. Nhãn Sao chép
Tại đây, chú thích của nhãn sẽ được hiển thị bằng màu đỏ, sử dụng phông chữ Helvetica cỡ 16 Lối vàoTiện ích này hiển thị hộp văn bản một dòng để chấp nhận đầu vào của người dùng. Để nhập văn bản nhiều dòng, hãy sử dụng tiện ích Văn bản. Ngoài các thuộc tính đã được đề cập, hàm tạo của lớp Entry chấp nhận các thuộc tính sau
Đoạn mã sau thêm trường văn bản 3Ví dụ sau tạo một cửa sổ có nút, nhãn và trường nhập Ví dụ. Tạo tiện ích Sao chép________số 8_______ Ví dụ trên sẽ tạo cửa sổ sau Tạo UI Widget trong Python-TkinterTiện ích lựa chọnNút radio. Tiện ích này hiển thị một nút chuyển đổi có trạng thái BẬT/TẮT. Có thể có nhiều hơn một nút, nhưng chỉ một trong số chúng sẽ được BẬT tại một thời điểm nhất định nút kiểm. Đây cũng là một nút chuyển đổi. Một hộp kiểm hình chữ nhật xuất hiện trước chú thích của nó. Trạng thái BẬT của nó được hiển thị bằng dấu tích trong hộp sẽ biến mất khi được nhấp để TẮT hộp tổ hợp. Lớp này được định nghĩa trong mô-đun ttk của tkinterpackage. Nó điền dữ liệu thả xuống từ một loại dữ liệu bộ sưu tập, chẳng hạn như bộ hoặc danh sách dưới dạng tham số giá trị hộp danh sách. Không giống như Combobox, tiện ích này hiển thị toàn bộ bộ sưu tập các mục chuỗi. Người dùng có thể chọn một hoặc nhiều mục Ví dụ sau minh họa cửa sổ với các tiện ích lựa chọn. Radiobutton, Checkbutton, Listbox và Combobox Ví dụ. Tiện ích lựa chọn Sao chép
Xử lý sự kiệnMột sự kiện là một thông báo mà đối tượng ứng dụng nhận được từ các tiện ích GUI khác nhau do tương tác của người dùng. Đối tượng Ứng dụng luôn dự đoán các sự kiện khi nó chạy một vòng lặp lắng nghe sự kiện. Các hành động của người dùng bao gồm nhấp hoặc nhấp đúp vào nút chuột, nhấn phím bàn phím trong khi điều khiển nằm trong hộp văn bản, một số phần tử tăng hoặc mất tiêu điểm, v.v. Events are expressed as strings in Nhiều sự kiện được thể hiện giống như vòng loại. Loại xác định lớp của sự kiện Bảng sau đây cho thấy cách Tkinter nhận ra các sự kiện khác nhau EventModifierTypeQualifierAction Một sự kiện phải được đăng ký với một hoặc nhiều tiện ích GUI trong ứng dụng. Nếu không, nó sẽ bị bỏ qua. Trong Tkinter, có hai cách để đăng ký sự kiện bằng widget. Cách thứ nhất là sử dụng phương thức 4 và cách thứ hai là sử dụng tham số lệnh trong hàm tạo widgetPhương thức ràng buộc ()Phương thức 4 liên kết một sự kiện với hàm gọi lại để khi sự kiện xảy ra, hàm được gọicú pháp Widget.bind(event, callback) Ví dụ: để gọi hàm 6 khi nhấp vào nút bên trái, hãy sử dụng đoạn mã sauVí dụ. thậm chí ràng buộc Sao chép
Đối tượng sự kiện được đặc trưng bởi nhiều thuộc tính như tiện ích nguồn, tọa độ vị trí, số nút chuột và loại sự kiện. Chúng có thể được chuyển đến chức năng gọi lại nếu được yêu cầu Tham số lệnhMỗi tiện ích chủ yếu đáp ứng một loại cụ thể. Ví dụ: Nút là nguồn của sự kiện Nút. Vì vậy, nó được mặc định ràng buộc với nó. Các phương thức khởi tạo của nhiều lớp widget có một tham số tùy chọn được gọi là lệnh. Tham số lệnh này được đặt để gọi lại chức năng sẽ được gọi bất cứ khi nào sự kiện ràng buộc của nó xảy ra. Phương pháp này thuận tiện hơn phương pháp 4 8Trong ví dụ dưới đây, cửa sổ ứng dụng có hai trường nhập văn bản và một trường khác để hiển thị kết quả. Có hai đối tượng nút với chú thích Thêm và Trừ. Người dùng phải nhập số vào hai tiện ích Mục nhập. Phép cộng hoặc phép trừ của chúng được hiển thị trong phần ba Nút đầu tiên (Thêm) được định cấu hình bằng tham số lệnh. Giá trị của nó là phương thức 9 trong lớp. Nút thứ hai sử dụng phương pháp 4 để đăng ký lần nhấp vào nút bên trái bằng phương pháp 1. Cả hai phương thức đều đọc nội dung của các trường văn bản bằng phương thức 2 của tiện ích Mục nhập, phân tích cú pháp thành số, thực hiện phép cộng/trừ và hiển thị kết quả trong trường văn bản thứ ba bằng phương thức 3
Làm cách nào để tạo GUI bằng Python?Python cung cấp nhiều tùy chọn khác nhau để phát triển giao diện người dùng đồ họa (GUIs). . Nhập mô-đun Tkinter Tạo cửa sổ chính của ứng dụng GUI Thêm một hoặc nhiều tiện ích nêu trên vào ứng dụng GUI Nhập vòng lặp sự kiện chính để thực hiện hành động đối với từng sự kiện do người dùng kích hoạt Nút OK trong Python là gì?Hàm askokcancel() hiển thị hộp thoại xác nhận có hai nút. OK và Hủy bỏ. Nếu bạn nhấp vào nút OK, hàm sẽ trả về True . Tuy nhiên, nếu bạn nhấp vào nút Hủy, hàm sẽ trả về Sai. |