Lập Trình GUI Bằng Tkinter Trong Python - T3H

Skip to main content Python Tkinter - Lập trình GUI bằng Tkinter trong Python
  • Trang chủ
  • Thư viện
  • Tin lập trình
Python Tkinter - Lập trình GUI bằng Tkinter trong Python 14 Dec

Python Tkinter - Lập trình GUI bằng Tkinter trong Python

By t3h 0 Comments

GUI (Graphic user interface) hay còn gọi là giao diện người dùng đồ họa được sử dụng vô cùng phổ biến trong máy tính, các thiết bị đa phương tiện,... Sự hiện diện của GUI ngày càng gia tăng trong kỷ nguyên số, khi các thiết bị số trở thành một phần không thể thay thế trong đời sống con người. 

 Python cung cấp rất nhiều lựa chọn cho việc phát triển GUI. Tkinter, wxPython hay JPython là những công cụ quan trọng để tạo GUI. Trong bài viết ngày hôm, T3H xin giới thiệu tới bạn PythonTkinter - một trong những thư viện cơ bản để tạo GUI trong Python

 

Sử dụng Tkinter để xây dựng GUI trong Python

Ứng dụng của sử dụng Tkinter để xây dựng GUI trong Python

Lập trình với Python Tkinter

Tkinter là thư viện GUI tiêu chuẩn cho Python. Khi kết hợp với Tkinter, Python sẽ được cung cấp các công cụ một cách nhanh chóng và dễ dàng để tạo các ứng dụng GUI. Tkinter cung cấp giao diện hướng đối tượng mạnh mẽ đến các bộ công cụ Tk GUI.

Việc tạo một ứng dụng sử dụng Tkinter là một công việc vô cùng đơn giản. Tất cả những gì bạn cần làm là làm theo các bước sau:

- Nhập mô đun Tkinter

- Tạo cửa sổ ứng dụng chính của GUI

- Thêm một vài widgets vào ứng dụng GUI

- Nhập vòng lặp event chính để thực hiện hành động với từng sự kiện do người dùng kích hoạt

Ví dụ:

 #!/usr/bin/python

import Tkinter

top = Tkinter.Tk()

# Code to add widgets will go here...

top.mainloop()

Điều này sẽ tạo ra một cửa sổ sau:

Python Tkinter

Cửa số tk

>>> Xem thêm: Decorator trong Python - TÌm hiểu sâu  về Decorator trong Python

Các Widgets của Tkinter Python

Tkinter cung cấp nhiều bảng điều khiển khác nhau được sử dụng trong một ứng dụng GUI như các nút, nhãn và hộp kiểm,.... Những bảng điều khiển này thường được gọi là widget.

Hiện tại có 15 kiểu widget trong Tkinter. Các tiện ích này được liệt kê trong bảng dưới đây:

 

STT

Mô tả

1

Button: Tiện ích Button được sử dụng để hiển thị các nút trong ứng dụng

2

Canvas: Sử dụng để vẽ các hình dạng, chẳng hạn như đường thẳng, hình bầu dục, đa giác và hình chữ nhật, trong ứng dụng của bạn.

3

Checkbutton: sử dụng để hiển thị một số tùy chọn dưới dạng hộp kiểm. Người dùng có thể chọn nhiều tùy chọn cùng một lúc.

4

Entry: được sử dụng để hiển thị trường văn bản một dòng để chấp nhận các giá trị từ người dùng.

5

Frame: được sử dụng như một widget vùng chứa để sắp xếp các widget khác.

6

Label: được sử dụng để cung cấp chú thích một dòng cho các tiện ích con khác. Nó cũng có thể chứa hình ảnh.

7

Listbox: được sử dụng để cung cấp danh sách các tùy chọn cho người dùng.

8

Menubutton: được sử dụng để hiển thị các menu trong ứng dụng của bạn.

9

Menu:được sử dụng để cung cấp các lệnh khác nhau cho người dùng. Các lệnh này được chứa bên trong Menubutton.

10

Message:được sử dụng để hiển thị các trường văn bản nhiều dòng để chấp nhận các giá trị từ người dùng.

11

Radiobutton: được sử dụng để hiển thị một số tùy chọn dưới dạng các nút radio. Người dùng chỉ có thể chọn một tùy chọn tại một thời điểm.

12

Scale:  được sử dụng để cung cấp tiện ích con trượt.

13

Scrollbar: được sử dụng để thêm khả năng cuộn vào các tiện ích con khác nhau, chẳng hạn như hộp danh sách.

14

Text:  được sử dụng để hiển thị văn bản trong nhiều dòng.

15

Toplevel: được sử dụng để cung cấp một vùng chứa cửa sổ riêng biệt.

16

Spinbox: Tiện ích Spinbox là một biến thể của tiện ích Tkinter Entry tiêu chuẩn, có thể được sử dụng để chọn từ một số giá trị cố định.

17

PanedWindow: PanedWindow là một widget vùng chứa có thể chứa bất kỳ số lượng ngăn nào, được sắp xếp theo chiều ngang hoặc chiều dọc.

18

LabelFrame: Labelframe là một tiện ích chứa đơn giản. Mục đích chính của nó là hoạt động như một bộ đệm hoặc vùng chứa cho các bố cục cửa sổ phức tạp

19

tkMessageBox: Mô-đun này được sử dụng để hiển thị các hộp thông báo trong các ứng dụng của bạn.

 >>> Tham khảo: Khóa học lập trình Python

Quản lý hình học trong Tkinter Python

Để lập trình GUI bằng tkinter thành thạo các khối hình cũng là yếu tố cần thiết và quan trọng. Các widget Tkinter đều có quyền truy cập vào các phương pháp quản lý hình học cụ thể, có mục đích tổ chức các widget trong toàn bộ khu vực widget chính. Tkinter cũng đưa ra các lớp với trình quản lý hình học như: pack, grid và place:

- Phương thức pack (): sắp xếp các tiện ích trong khối trước khi đặt chúng vào các parent widgets

- Phương thức grid(): Sắp xếp các tiện ích trong một cấu trúc bảng tương tự như trong tiện ích parents.

- Phương thức place(): Sắp xếp các tiện ích bằng cách đặt chúng vào các vị trí cụ thể trong tiện ích parents. 

Kết luận: Trên đây là các kiến thức về Python Tkinter, một số yếu tố cần thiết để lập trình GUI bằng Tkinter trong Python. Việc sử dụng Tkinter để xây dựng ứng dụng trong Python là một cách dễ dàng và thuận tiện. Do vậy, lập trình viên hoàn toàn có thể sáng tạo các ứng dụng với Tkinter. Hy vọng các thông trên đây hữu ích với bạn trong quá trình làm việc với Tkinter. Tìm hiểu thêm các ngôn ngữ lập trình khác qua các khóa học lập trình tại T3H bạn nhé!

Tham khảo: tutorialpoint

  • t3h's blog
 event-loop-la-gi-tat-ca-kien-thuc-can-biet Redux Là Gì? Hiểu Rõ Cơ Bản Về Redux Nov 26,2024 regular-expression-la-gi Regular Expression Là Gì? Cú Pháp Và Cách Viết Regex Chi Tiết Nov 22,2024 event-loop-la-gi-tat-ca-kien-thuc-can-biet Event Loop Là Gì? Tất Cả Kiến Thức Cần Biết Về Bất Đồng Bộ JavaScript (Event Loop) Nov 18,2024 yaml-la-gi-kien-thuc-phai-hoc Yaml Là Gì? Kiến Thức Phải Học Nếu Muốn Trở Thành Một Kỹ Sư DevOps Nov 16,2024 lodash-la-gi-tat-tan-tat-ve-lodash Lodash Là Gì? Tất Tần Tật Về Lodash Và Ví Dụ Cụ Thể Nov 15,2024 dynamic-testing-la-gi-cac-ky-thuat-ve-dynamic Kiểm Thử Động (Dynamic Testing) Là Gì? Các Kỹ Thuật Về Dynamic Testing Nov 12,2024 tu-hoc-cong-nghe-thong-tin Xác Định Mục Tiêu Như Nào Để Tự Học Công Nghệ Thông Tin Hiệu Quả Nov 11,2024 xmp-la-gi-ung-dung-cua-extensible-metadata-platform XMP Là Gì? Ứng Dụng Của Extensible Metadata Platform Trong Xử Lý Dữ Liệu Nov 06,2024  cach-tu-hoc-lap-trinh-hieu-qua-danh-cho-developer Cách Tự Học Lập Trình Hiệu Quả Dành Cho Developer Oct 28,2024 Lập trình Frontend ReactJS Khóa học lập trình Python Khóa học Lập trình Python Django Fullstack Lập trình Front-End với Angular Lập trình Web application với C# .NET 8 (new) Khóa học kiểm thử phần mềm Tester Lập trình Java Web FullStack Lập trình Web PHP FullStack Lập trình ứng dụng mobile android Lập trình Android

Với mình việc học ở T3H thực sự là điều rất thú vị, được tham gia các hoạt động, được học tập vui vẻ. Đừng ngại việc mình chưa có kinh nghiệm, đừng ngại thất bại, bởi vì các đồ án cũng được xem như là các dự án thực tế rồi. Hãy chuẩn bị cho mình 1 CV thật tốt.

Đinh Nhật Anh Designer tại Dược mỹ phẩm Hàn Quốc GSC

Tại T3H mình đã được trải qua khoảng thời gian học tập và hoạt động thực sự đáng nhớ. Nó đã cho mình rất nhiều bài học và kinh nghiệm sống cũng như kỹ năng chuyên môn. Hãy mạnh dạn tham gia và làm những điều mà bạn chưa từng làm hoặc không phải thế mạnh của bạn, bạn sẽ biết về nó, tầm hiểu biết của bạn sẽ ngày càng mở rộng.

Nguyễn Việt Anh Designer tại MP Group

T3H giống như bước đệm kiến thức và mối quan hệ của mình. Nhờ T3H mình có thể vừa học vừa tìm được những công việc tốt, kiếm được những đồng nghiệp, những partner ngay khi hoc cùng nhau.

Phạm Quang Linh Team Leader tại Laptrinhluon.com

Với T3H, mình luôn biết ơn người thầy đã dìu dắt và dẫn lối mình khi mình bắt đầu vào trường, thầy Nguyễn Mạnh Tiền. Không chỉ hỗ trợ mình trong học tập, công việc mà còn trong cuộc sống và đạo đức. Thầy luôn phân tích và đưa ra hướng giải quyết nhờ đó mình có thể vượt qua những khó khăn khi sống ở 1 thành phố lớn.

Trần Đức Hiến Design tại TMV Digital/ Design tại Maria Clinic

T3H là nơi đúng đắn để mình đặt chân tới. Từ những ngày đầu đặt chân đến đã thấy sự nhiệt tình của mọi người trong trường, ngoài việc học, ở T3H mình còn được tham gia các hoạt động chào đón tân sinh viên, các hoạt động mừng ngày lễ, gắn kết sinh viên. Chúc mọi người có thật nhiều thành công khi học tại T3H.

Đinh Xuân Phương

Học tại T3h rất tốt cho các bạn muốn theo đuổi ngành công nghệ thông tin, trau dồi kiến thức cho mình và hỏi mọi người, biến những đam mê của mình dần đạt được cái mình mong muốn, hãy hết mình vì cái mình đam mê và biến nó dần thành hiện thực.

Nguyễn Văn Tiến Photo - Cameraman - Editor tại Pông Media

T3h đã cho tôi những trải nghiệm mới mẻ, đặc biệt là giúp tôi được thử thách và chứng tỏ bản thân mình. Nếu được chọn lại, tôi chắc chắn vẫn sẽ chọn là sinh viên T3h!!!

(Sinh viên lớp: K28DH) 

Lê Hồng Nhung Designer - Công ty công nghệ Lê Nam

Môi trường năng động, các bạn sinh viên nhiệt tình. Không có nhiều khoảng cách giữa sinh viên và giảng viên

(Sinh viên lớp: K28DH) 

Lê Duy Ngọc Developer .Net - Tập đoàn Đại Việt

Môi trường học tập tốt, một số thầy cô giáo giảng dạy rất có tâm, nhiệt tình với sinh viên. Sinh viên sau khi hoàn thành khóa học cũng dễ dàng tìm kiếm được công việc phù hợp.

(Sinh viên lớp: K29C _ DH1507) 

Đỗ Thị Hải Hậu Phụ trách Model 3D - Công ty GDL

T3H là một mái trường rất đáng yêu, bạn bè đáng yêu, đến thầy cô cũng đang yêu nốt

(Sinh viên lớp: K29A1_DH1507) 

Phan Tiến Dũng Designer - Công ty Hatch

Thật may mắn khi thầy cô giáo, anh chị Hội Sinh viên rất nhiệt tình, giúp đỡ chúng mình. T3H như là ngôi nhà thứ 2 của mình vậy đó. 

(Sinh viên lớp: K29A_DH1507) 

Nguyễn Thị Phương Thủy Designer - Công ty tranh 3D

T3H thật sự là 1 gia đình, mọi người đều sẵn sàng dậy cho nhau 1 điều gì đó, một môi trường mà mọi người đều sẵn sàng chia sẻ và học hỏi lẫn nhau (Sinh viên lớp: K29A1_DH1507) 

Lê Trung Kiên Trưởng ban thiết kế - Công ty Skynetone Việt Nam

Một môi trường hoàn toàn năng động và có ứng dụng thực tế hơn rất nhiều ngôi trường khác.       (Sinh viên lớp: K29A_DH1507)

Nguyễn Thị Bích Thảo Chuyên viên diễn hoạt Animation - Công ty CP Global Dream Lad – Tổ chức giáo dục Hoa Kỳ.

T3H là nơi tôi được sống trọn với những đam mê, những sở thích, là nơi tôi có thể khám phá được những khả năng của bản thân. Tất cả là nhờ sự tận tâm, tận tình từ các thầy cô, anh chị, bạn bè. T3H đã thực sự trở thành mái nhà thứ 2 của tôi!!!

Nguyễn Mạnh Tiền Cán bộ phòng Đào tạo Hitech Việt Nam

Đề tài Project java android xuất xắc, sinh viên tiêu biểu T3H - Framgia Vietnam nhận ngay trong hội đồng bảo vệ đồ án cuối khóa

Phạm Trung Đoan FPT Software, Framgia Vietnam

"Tôi học ở T3h với những thầy cô nhiệt tình , quan tâm lo lắng cho Sinh viên. Môi trường năng động, bạn bè hòa đồng vui vẻ. Các bạn hãy đến với T3H Hà Nội để trải nghiệm nhé"

NGUYỄN VĂN DŨNG Lớp K30A1DH

"Dẫu tưởng rằng T3h sẽ giống những trường đại học khác, khô khan và chỉ biết đến bản thân. Nhưng không khi đến đây và học tập rồi hoạt động em mới hiểu tại sao lại gọi là T3h family', những chiến binh hết mình với học tập"

Nguyễn Thảo Quỳnh K29A1-DH1507

"Kiến thức, những người bạn lầy lội, những giảng vui tính là thứ mà tôi có được tại T3H. Nơi đây chính là cây cầu nối giữa tôi với niềm đam mê của mình về CNTT"

Nguyễn Tiến Tân K30A4DH

"Môi trường học năng động trẻ chung, giáo viên rất nhiệt tình hướng dẫn, support đồ án cho sinh viên"

Nguyễn Minh Lân K30A3DH

 "Khi học tập ở T3H, tôi đã bổ sung cho mình được rất nhiều kiến thức để vận dụng công việc tốt hơn và định hướng được nghề nghiệp. Giảng viên rất nhiệt tình, nhiều kinh nghiệm, giúp đỡ tôi rất nhiều trong quá trình học. Cảm ơn T3H" 

PHẠM TRUNG ĐOAN Làm việc tại Samsung Electronic Việt Nam

"Thầy cô giảng viên và anh chị khóa trên rất thân thiện và tận tâm. Họ sẵn sàng, khi bạn cần giúp về vấn đề kĩ thuật hay học tập của bạn. Đây là điều em thích nhất ở T3H"

Đỗ Quang Linh K30A3DH

T3H là ngôi nhà thứ hai của tôi, môi trường thoải mái, bạn bè thân thiện, thầy cô tâm huyết. Nơi đây đã cho tôi nhiêu bài học quý giá, nhiều kỉ niệm đẹp. Cám ơn T3H, tình yêu tuổi trẻ của tôi!.

VŨ THỊ QUỲNH Designer tại Hitech Việt Nam

Nơi tôi cảm nhận được sự yêu thương, nhiệt huyết của các thầy cô. Nơi đã cho tôi cơ hội được phát triển, nơi giúp tôi trường thành, nơi cho tôi cuộc sống và sự nghiệp như ngày hôm nay.

Nguyễn Văn Thành Designer tại Topica Edtech Group

Môi trường học tập thoải mái, thầy cô dễ gần, dễ tiếp xúc, kiến thức sát với thực tế. Nhà trường luôn luôn tạo nhiều điều kiện cho sinh viên phát triển!

Doãn Trọng Tài TP Công nghệ cty D&D Việt Nam

Thầy cô nhiệt tình và tâm huyết với sinh viên. Các anh chị sinh viên có tinh thần giúp đỡ các em khóa dưới. Môi trường thoải mái, và cho sinh viên cơ hội phát triển.

Trần Thị Hoa Hội sinh viên T3H

T3H nơi tôi cảm nhận được sự gần gũi, thân thương, là cái nôi đã giúp tôi trưởng thành như ngày hôm nay. Từ một sinh viên "KHÔNG BIẾT GÌ" về đồ họa, giờ tôi có thể tự tin mà nói rằng : I AM A PROFESSIONAL DESIGNER với công việc và mức lương tôi hằng mơ ước!

Phạm Ánh Duyên Designer of HONG HA PRINTING .,JSC

"Trường luôn tạo điều kiện học tập tốt nhất cho sinh viên, các giảng viên thì nhiệt tình, tận tâm với sinh viên, hỗ trợ sinh viên hết mình! Ngoài việc học trên trường, hội sinh viên còn tổ chức ra nhiều chương trình, nhiều sự kiện để khuấy động phong trào trong sinh viên"

Nguyễn Thị Thu Hà Thiết kế 2D - Công ty CP BĐS Rbland

T3H là nơi tôi được sống trọn với những đam mê, những sở thích, là nơi tôi có thể khám phá được những khả năng của bản thân. Tất cả là nhờ sự tận tâm, tận tình từ các thầy cô, anh chị, bạn bè. T3H đã thực sự trở thành mái nhà thứ 2 của tôi!!!

Nguyễn Mạnh Tiền Cán bộ phòng Đào tạo Hitech Việt Nam

Đề tài Project java android xuất xắc, sinh viên tiêu biểu T3H - Framgia Vietnam nhận ngay trong hội đồng bảo vệ đồ án cuối khóa

Phạm Trung Đoan FPT Software, Framgia Vietnam

Thầy cô giảng viên và anh chị khóa trên rất thân thiện và tận tâm. Họ sẵn sàng, khi bạn cần giúp về vấn đề kĩ thuật hay học tập của bạn. Đây là điều em yêu hích nhất ở T3H"

Lê Trung Kiên K29DH

"T3H là một môi trường giáo dục thực tế nhất mà em từng biết. Đã đào tạo thẳng vào chuyên ngành giúp cho sinh viên phát huy được hết các khả năng về chuyên ngành của mình"

Phạm Hồng Hà K30A1DH
  •  event-loop-la-gi-tat-ca-kien-thuc-can-biet Redux Là Gì? Hiểu Rõ Cơ Bản Về Redux Nov 26,2024
  • regular-expression-la-gi Regular Expression Là Gì? Cú Pháp Và Cách Viết Regex Chi Tiết Nov 22,2024
  • event-loop-la-gi-tat-ca-kien-thuc-can-biet Event Loop Là Gì? Tất Cả Kiến Thức Cần Biết Về Bất Đồng Bộ JavaScript (Event Loop) Nov 18,2024
  • yaml-la-gi-kien-thuc-phai-hoc Yaml Là Gì? Kiến Thức Phải Học Nếu Muốn Trở Thành Một Kỹ Sư DevOps Nov 16,2024
  • lodash-la-gi-tat-tan-tat-ve-lodash Lodash Là Gì? Tất Tần Tật Về Lodash Và Ví Dụ Cụ Thể Nov 15,2024

Từ khóa » Thư Viện Tkinter Trên Python