Blog hướng dẫn Tkinter này sẽ giúp bạn bắt đầu tìm hiểu về thư viện Tkinter trong Python và cung cấp cho bạn cái nhìn sâu sắc về cách Python được sử dụng để tạo các ứng dụng Giao diện người dùng đồ họa [GUI]. Số lượng ứng dụng của Tkinter là vô tận và nó là một thư viện rất phổ biến và dễ học
Trong Hướng dẫn Tkinter này, chúng tôi sẽ đề cập đến các khái niệm sau
Giao diện người dùng đồ họa [GUI] là gì?
Giao diện người dùng đồ họa [GUI] không là gì ngoài một ứng dụng máy tính để bàn giúp bạn tương tác với máy tính. Họ thực hiện các nhiệm vụ khác nhau trong máy tính để bàn, máy tính xách tay và các thiết bị điện tử khác
- Các ứng dụng GUI như Trình soạn thảo văn bản tạo, đọc, cập nhật và xóa các loại tệp khác nhau
- Các ứng dụng như Sudoku, Cờ vua và Solitaire là những trò chơi mà bạn có thể chơi
- Các ứng dụng GUI như Google Chrome, Firefox và Microsoft Edge duyệt qua Internet
Chúng là một số loại ứng dụng GUI khác nhau mà chúng ta sử dụng hàng ngày trên máy tính xách tay hoặc máy tính để bàn. Chúng ta sẽ tìm hiểu cách tạo các loại ứng dụng đó
Vì đây là phần Giới thiệu về GUI, hãy đảm bảo bạn theo dõi đến cuối vì chúng tôi sẽ tạo một ứng dụng GUI thực sự đơn giản và đẹp mắt
Chà, đó là một sở thích cá nhân mà tôi thích GUI hơn dòng lệnh. Không phải là có gì đó không ổn với dòng lệnh nhưng tôi thích các ứng dụng tương tác và trực quan hơn với nhiều hình ảnh
Bạn thích cái nào hơn?
Tiếp theo trên blog hướng dẫn Tkinter này, chúng ta hãy xem các thư viện Python hiện có để thiết kế GUI của riêng chúng ta
Thư viện Python để tạo giao diện người dùng đồ họa
Python có rất nhiều thư viện và 4 thư viện này nổi bật chủ yếu khi nói đến GUI. Có như sau
- kivy
- Trăn QT
- wxPython
- tkinter
Trong số tất cả những thứ này, Tkinter là lựa chọn đầu tiên của RẤT NHIỀU người học và nhà phát triển chỉ vì tính đơn giản và dễ dàng của nó
Tôi chắc rằng bạn cũng sẽ có cùng quan điểm trong một thời gian
Ghi chú. Tại thời điểm này, tôi muốn đề cập rằng bạn sẽ cần một chút kiến thức về Python để bắt đầu làm việc với Tkinter. Không có gì phải lo lắng nếu bạn chưa có bất kỳ kinh nghiệm lập trình nào với Python trước đó. Tôi đã tạo một hướng dẫn chuyên sâu về python dành riêng cho người mới bắt đầu mà tôi đã liên kết ở cuối blog này, tôi nhận được một số phản hồi thực sự tốt về nó vì vậy tôi khuyên các bạn nên kiểm tra nó sau khi đọc xong.
Tiếp theo trên blog hướng dẫn Tkinter này, chúng ta hãy xem Tkinter thực sự là gì
Tkinter là gì?
Tkinter thực ra là một mô-đun Python tích hợp sẵn được sử dụng để tạo các ứng dụng GUI đơn giản. Đây là mô-đun được sử dụng phổ biến nhất cho các ứng dụng GUI trong Python
Bạn không cần phải lo lắng về việc cài đặt mô-đun Tkinter vì mô-đun này đi kèm với mặc định Python
Tôi sẽ sử dụng Python 3. 6 phiên bản cho hướng dẫn này. Vì vậy, vui lòng cập nhật Python nếu bạn đang sử dụng các phiên bản bên dưới
Một lời khuyên nữa cho các bạn là đừng copy code một cách mù quáng. Cố gắng viết bằng cách sửa đổi nó theo ý muốn và sau đó quan sát và hiểu những thay đổi kết quả
Tiếp theo trên blog hướng dẫn Tkinter này, chúng ta hãy xem các nguyên tắc cơ bản của Tkinter để chúng ta có thể bắt đầu tạo GUI của riêng mình
Nguyên tắc cơ bản của Tkinter
Hãy xem xét sơ đồ sau, nó cho thấy một ứng dụng thực sự hoạt động như thế nào trong Tkinter
Để bắt đầu, trước tiên chúng tôi nhập mô hình Tkinter. Tiếp theo đó, chúng tôi tạo cửa sổ chính. Chính trong cửa sổ này, chúng tôi đang thực hiện các thao tác và hiển thị hình ảnh và mọi thứ về cơ bản. Sau đó, chúng tôi thêm các vật dụng và cuối cùng chúng tôi vào vòng lặp sự kiện chính
Nếu bạn để ý, có 2 từ khóa ở đây mà bạn có thể chưa biết vào thời điểm này. Đây là 2 từ khóa
Một vòng lặp sự kiện về cơ bản yêu cầu mã tiếp tục hiển thị cửa sổ cho đến khi chúng tôi đóng cửa sổ theo cách thủ công. Nó chạy trong một vòng lặp vô hạn ở back-end
Kiểm tra mã sau đây để rõ ràng hơn
import tkinter window = tkinter.Tk[] # to rename the title of the window window.title["GUI"] # pack is used to show the object in the window label = tkinter.Label[window, text = "Hello World!"].pack[] window.mainloop[]
Như bạn có thể thấy, chúng tôi đang nhập gói Tkinter và xác định một cửa sổ. Tiếp theo đó, chúng tôi sẽ đưa ra một tiêu đề cửa sổ được hiển thị trên tab tiêu đề bất cứ khi nào bạn mở một ứng dụng
Ví dụ: Microsoft Word được hiển thị trên tab tiêu đề khi bạn mở một ứng dụng từ, đúng không? . Chúng tôi có thể gọi nó là bất cứ điều gì chúng tôi muốn dựa trên yêu cầu
Cuối cùng, chúng tôi có một nhãn. Nhãn không là gì ngoài đầu ra cần được hiển thị trên cửa sổ. Trong trường hợp này như bạn có thể thấy, nó là hello world
Kiểm tra đầu ra cho đoạn mã trên
- Canvas – Canvas được sử dụng để vẽ hình trong GUI của bạn
- Nút – Tiện ích nút được sử dụng để đặt các nút trong Tkinter
- Checkbutton – Checkbutton được sử dụng để tạo các nút kiểm tra trong ứng dụng của bạn. Lưu ý rằng bạn có thể chọn nhiều tùy chọn cùng một lúc
- Entry – Entry widget được sử dụng để tạo các trường nhập liệu trong GUI
- Khung – Khung được sử dụng làm vùng chứa trong Tkinter
- Nhãn – Nhãn được sử dụng để tạo tiện ích một dòng như văn bản, hình ảnh, v.v.
- Menu – Menu được sử dụng để tạo các menu trong GUI
Những tiện ích này là lý do khiến Tkinter trở nên phổ biến. Nó làm cho nó thực sự dễ hiểu và sử dụng thực tế
Hãy để chúng tôi đi qua tất cả các vật dụng này để hiểu rõ hơn
Xin lưu ý rằng tôi sẽ không làm bạn choáng ngợp với cú pháp hoàn chỉnh cho từng tiện ích con. Các đoạn mã là quá đủ để giúp bạn học dễ dàng hơn và tôi đã làm điều này chỉ để bạn có thể tránh bất kỳ sự nhầm lẫn hoặc mơ hồ nào trong khi học
Tiện ích đầu tiên chúng tôi sẽ kiểm tra là tiện ích nhãn
Tiện ích nhãn
Như đã đề cập trước đó, nhãn được sử dụng để tạo văn bản và hình ảnh, v.v. nhưng điều quan trọng cần lưu ý là nó chỉ được định nghĩa một dòng
Đây là đoạn mã
l1 = Label [window, text="edureka!“ font=["Arial Bold", 50]] l1.grid [column=0, row=0]
Chúng tôi đã nhập văn bản của mình với tên Edureka và văn bản đó được in như hiện tại. Đơn giản, phải không?
Kiểm tra đầu ra dưới đây
Có một thứ gọi là hàm hình học. Chúng ta cũng sẽ xem xét vấn đề này trong các phần tiếp theo
Tại thời điểm này, tất cả những gì bạn cần biết là về cơ bản nó được sử dụng để thay đổi kích thước cửa sổ và đặt theo yêu cầu của chúng tôi
Kiểm tra đoạn mã dưới đây
l1 = Label [window, text="edureka!“ font=["Arial Bold", 50]] window.geometry['350x200'] l1.grid [column=0, row=0]
Chà, trong trường hợp này, chúng tôi đã đặt nó có chiều rộng 350 pixel và chiều cao 200 pixel
Và đây là đầu ra cho cùng
Chúng tôi cũng có thể thay đổi nền trước cho một nút hoặc bất kỳ tiện ích con nào khác. Chúng tôi sẽ sử dụng tham số FG như trong mã. Tương tự, màu nền cũng có thể được thay đổi bằng cách sử dụng thuộc tính BG
Kiểm tra mã
bt = Button [window, text="Enter", bg="orange", fg="red"] bt.grid [column=1, row=0]
đầu ra
Theo đầu ra chúng tôi nhận được, nền trước của chúng tôi là văn bản có màu đỏ như được xác định và nền có màu cam khi chúng tôi đặt nó bằng tham số bg
Vì vậy, tại thời điểm này, chúng tôi có một nút có thể nhấp được. Chà, điều gì xảy ra khi chúng ta thực sự tiếp tục và nhấp vào nó?
Kiểm tra đoạn trích này
def clicked[]: l1.configure [text="Button was clicked !!"] bt = Button [window, text=“Enter”, command=clicked]
Vì vậy, chúng tôi gọi đây là sự kiện nhấp chuột. Chúng tôi cần viết chức năng về điều gì sẽ xảy ra khi chúng tôi nhấp vào nút hoặc theo các thuật ngữ khác khi sự kiện nhấp chuột được kích hoạt
Với mục đích đó, chúng tôi có một chức năng gọi là đã nhấp, chúng tôi đang hiển thị một thông báo văn bản cho biết nút đã được nhấp
Chúng ta sẽ cần thêm một tham số gọi là lệnh trong định nghĩa nút như được hiển thị
Khá dễ dàng, phải không?
Tiện ích tiếp theo chúng tôi sẽ kiểm tra trên blog hướng dẫn Tkinter này là tiện ích mục nhập
Tiện ích mục nhập
Tiện ích mục nhập được sử dụng để làm gì?
Nó được dùng để tạo các trường nhập trong GUI để nhập văn bản
Kiểm tra mã ví dụ hiển thị bên dưới
txt = Entry[window,width=10] txt.grid[column=1, row=0] def clicked[]: res = "Welcome to " + txt.get[] l1.configure[text= res] bt = Button [window, text=“Enter”, command=clicked]
Ở đây, chúng tôi đang tạo một hộp văn bản bằng cách sử dụng lớp nhập Tkinter. Lưới cho mã biết nơi chúng tôi muốn tiện ích con trên cửa sổ
Điều gì sẽ xảy ra khi nút được nhấp?
Chà, chúng tôi có một thông báo có nội dung 'Chào mừng đến với' và sau đó, bất kỳ nội dung nào được nhập vào vùng văn bản sẽ được nối cùng với thông báo này và được in
Kiểm tra đầu ra. Chúng tôi đã nhập Python Training và do đó, nó hiển thị chào mừng bạn đến với đào tạo python
đầu ra
Một tiện ích dễ dàng khác, đã xong
Tiện ích tiếp theo mà chúng tôi sẽ kiểm tra trên blog hướng dẫn Tkinter này là tiện ích Checkbutton
Tiện ích nút kiểm
Nút kiểm được sử dụng rộng rãi trong hầu hết các trang web
Vì vậy, về cơ bản, chúng tôi sử dụng lớp nút kiểm để tạo tiện ích
đoạn mã
chk_state = BooleanVar[] chk_state.set [True] chk = Checkbutton[window, text=‘Select', var=chk_state] chk.grid[column=0, row=0]
Chúng tôi bắt đầu bằng cách tạo một biến kiểu booleanvar
Nhưng đây không phải là một biến python tiêu chuẩn, đúng không?
Theo mặc định, chúng tôi giữ trạng thái đã đặt là đúng, điều đó có nghĩa là nút đã được kiểm tra. Và tiếp theo, chúng tôi sẽ chuyển chk_state cho lớp nút kiểm tra để đặt trạng thái kiểm tra cho chúng tôi
đầu ra
Kiểm tra đầu ra ở trên. Vì vậy, chúng tôi có một tiện ích nút kiểm thực sự đơn giản với một văn bản nhất định
Vì vậy, những vật dụng dễ dàng khác như thế này có sẵn là gì?
Tiện ích tiếp theo mà chúng tôi sẽ kiểm tra trên blog hướng dẫn Tkinter này là tiện ích nút radio
Tiện ích nút radio
Tiện ích nút radio khá phổ biến và tôi có thể đảm bảo với bạn rằng bạn đã từng thấy và sử dụng tiện ích này trước đây
Chúng tôi sẽ sử dụng lớp radiobutton để thêm tiện ích
Hãy nhìn vào mã
rad1 = Radiobutton[window, text=Python', value=1] rad2 = Radiobutton[window, text=Java', value=2] rad3 = Radiobutton[window, text=Scala', value=3] rad1.grid[column=0, row=0] rad2.grid[column=1, row=0] rad3.grid[column=2, row=0]
Ở đây, chúng ta có các tham số giá trị khác nhau. 1,2 và 3. Tuy nhiên nếu giống nhau sẽ dẫn đến xung đột và xảy ra lỗi. Vì vậy, cần lưu ý rằng một giá trị duy nhất được sử dụng để giải quyết các nút radio
Tuy nhiên, giá trị phải là duy nhất nhưng dữ liệu văn bản có thể giống nhau. Ở đây chúng tôi đã xem xét Python, Java và Scala. Nó có thể là bất cứ điều gì bạn muốn dựa trên các yêu cầu
Tương tự, hàm grid dùng để đặt widget trên cửa sổ
đầu ra
Từ đầu ra ở trên, xin lưu ý rằng không giống như nút kiểm nơi bạn có thể thử chọn nhiều nút, ở đây trong trường hợp nút radio, bạn chỉ có thể chọn một lần
Tiện ích tiếp theo chúng tôi sẽ kiểm tra trên blog hướng dẫn Tkinter này là tiện ích văn bản cuộn
Tiện ích văn bản cuộn
Một tiện ích đẹp khác mà chúng tôi có là tiện ích văn bản cuộn. Điều này có thể được thêm vào bằng cách sử dụng lớp văn bản cuộn
Mã số
l1 = Label [window, text="edureka!“ font=["Arial Bold", 50]] l1.grid [column=0, row=0]0
Một điều bạn phải lưu ý ở đây, điều rất quan trọng là bạn cần chỉ định chiều rộng và chiều cao của tiện ích văn bản được cuộn. Chà, nếu chúng ta không chỉ định giống nhau, toàn bộ cửa sổ sẽ được lấp đầy
Bạn có thể đặt nội dung văn bản cuộn bằng cách sử dụng phương pháp chèn. Cú pháp khá đơn giản. Chúng ta cần sử dụng txt. chèn với thông báo làm tham số
đầu ra
Tiện ích tiếp theo mà chúng tôi sẽ kiểm tra trên blog hướng dẫn Tkinter này là tiện ích hộp thông báo
Tiện ích hộp tin nhắn
Hãy để chúng tôi nhanh chóng xem qua tiện ích đơn giản này. Chúng tôi cũng đang sử dụng thư viện hộp thư ở đây
Mã số
l1 = Label [window, text="edureka!“ font=["Arial Bold", 50]] l1.grid [column=0, row=0]1
Nhập thư viện và hiển thị thông báo. Nhưng chúng ta cần xác định tiêu đề tin nhắn và nội dung tin nhắn ở đây
Thấy chưa, đây là nơi mọi thứ trở nên thú vị. Nhìn vào đoạn trích dưới đây
l1 = Label [window, text="edureka!“ font=["Arial Bold", 50]] l1.grid [column=0, row=0]2
Ở đây chúng tôi đã sử dụng hai vật dụng mà chúng tôi đã học. Chúng tôi đang sử dụng nút bấm để hiển thị hộp thông báo cho chúng tôi
Đây là đầu ra
Tiếp theo trên blog hướng dẫn Tkinter này, chúng ta cần xem một khái niệm gọi là hàm liên kết
chức năng ràng buộc
Gọi các chức năng bất cứ khi nào một sự kiện xảy ra đề cập đến một chức năng ràng buộc
- Trong ví dụ bên dưới, khi bạn nhấp vào nút, nút này sẽ gọi một hàm có tên là say_hi
- Hàm say_hi tạo nhãn mới có nội dung Xin chào
l1 = Label [window, text="edureka!“ font=["Arial Bold", 50]] l1.grid [column=0, row=0]6
Chương trình trên sẽ cho ra kết quả như sau
Một cách khác để liên kết các hàm là sử dụng sự kiện. Các sự kiện giống như di chuột, di chuột qua, nhấp và cuộn
Chương trình sau cũng cho kết quả tương tự như chương trình trên
l1 = Label [window, text="edureka!“ font=["Arial Bold", 50]] l1.grid [column=0, row=0]7
- ‘‘ tham số của phương thức liên kết là sự kiện nhấp chuột trái, tôi. e. , khi bạn nhấp vào nút bên trái, phương thức liên kết gọi hàm say_hi
- cho nhấp chuột trái
- cho nhấp chuột giữa
- cho nhấp chuột phải
- Ở đây, chúng ta đang liên kết sự kiện nhấp chuột trái với một nút. Bạn có thể liên kết nó với bất kỳ tiện ích con nào khác mà bạn muốn
- Bạn sẽ có các thông số khác nhau cho các sự kiện khác nhau
Các sự kiện nhấp chuột có 3 loại khác nhau là Nhấp chuột trái, Nhấp chuột giữa và Nhấp chuột phải
Bây giờ, bạn sẽ học cách gọi một hàm cụ thể dựa trên sự kiện xảy ra
- Chạy chương trình sau và nhấp vào các nút trái, giữa, phải để gọi một chức năng cụ thể
- Chức năng đó sẽ tạo một nhãn mới với văn bản được đề cập
l1 = Label [window, text="edureka!“ font=["Arial Bold", 50]] l1.grid [column=0, row=0]8
Nếu chạy chương trình trên, bạn sẽ thấy một cửa sổ trống. Bây giờ, hãy nhấp vào nút trái, giữa và phải để gọi các chức năng tương ứng
Bạn nhận được kết quả tương tự như sau
Tiếp theo trên blog hướng dẫn Tkinter này, chúng ta cần xem cách chúng ta có thể thêm hình ảnh vào cửa sổ của mình
Hình Ảnh Và Biểu Tượng
Bạn có thể thêm Hình ảnh và Biểu tượng bằng phương pháp PhotoImage
Hãy xem nó hoạt động như thế nào
l1 = Label [window, text="edureka!“ font=["Arial Bold", 50]] l1.grid [column=0, row=0]9
Bạn có thể thấy biểu tượng trong GUI
Bây giờ, bạn có thể. -
- Hiểu mã Tkinter
- Tạo khung, nhãn, nút, chức năng liên kết, sự kiện và tất cả
- Để phát triển các ứng dụng GUI đơn giản
Vì vậy, tiếp theo trên blog Hướng dẫn Tkinter này, chúng ta sẽ tạo một GUI Máy tính đơn giản với tất cả những thứ mà chúng ta đã học được cho đến bây giờ
Sử dụng – Trường hợp. Ứng dụng máy tính sử dụng Tkinter
Mỗi ứng dụng GUI bao gồm hai bước
- Thêm các chức năng vào GUI
l1 = Label [window, text="edureka!“ font=["Arial Bold", 50]] window.geometry['350x200'] l1.grid [column=0, row=0]0
Sự kết luận
Các khái niệm được thảo luận trong hướng dẫn này sẽ giúp bạn tạo các ứng dụng GUI của riêng mình và thêm chức năng vào cùng một ứng dụng.
Điều này sẽ rất hữu ích khi bạn đang cố gắng tạo một ứng dụng tùy chỉnh với GUI phù hợp với nhu cầu cá nhân của mình. Giờ đây, bạn cũng có thể sử dụng các tiện ích và hình ảnh này để phát triển ứng dụng một cách dễ dàng với sự trợ giúp của Python
Sau khi đọc blog này về hướng dẫn Tkinter bằng Python, tôi khá chắc chắn rằng bạn muốn biết thêm về Python. Để biết thêm về Python, bạn có thể tham khảo các blog sau
Tôi hy vọng bạn thích bài đăng này trên Hướng dẫn Tkinter. Nếu bạn có bất kỳ câu hỏi nào liên quan đến hướng dẫn này, vui lòng cho tôi biết trong phần nhận xét
Hướng dẫn Python cho người mới bắt đầu. Khóa học về sự cố Python. Edureka
Hướng dẫn Edureka này về “Hướng dẫn Python cho người mới bắt đầu” bao gồm tất cả những điều cơ bản về Python. Nó bao gồm các ví dụ lập trình python, vì vậy hãy tự mình thử và đề cập trong phần nhận xét nếu bạn có bất kỳ nghi ngờ nào