Hướng dẫn dùng tkinter.canvas python

Python cung cấp các tùy chọn khác nhau để phát triển giao diện người dùng đồ họa [GUI]. Quan trọng nhất được liệt kê dưới đây.

  • Tkinter: Tkinter là giao diện Python cho bộ công cụ Tk GUI. Chúng ta sẽ học Tkinter trong chương này.
  • wxPython: Đây là một giao diện Python mã nguồn mở cho wxWindows //wxpython.org/
  • JPython: JPython là một cổng Python dành cho Java, cho phép các tập lệnh Python truy cập vào các thư viện Java trên máy cục bộ //www.jython.org/

Lập trình Tkinter trong Python

Tkinter là thư viện GUI tiêu chuẩn cho Python. Tkinter trong Python cung cấp 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 cho bộ công cụ Tk GUI.

Sau đây là các bước để tạo một ứng dụng Tkinter:

  1. import Tkinter module.
  2. Tạo cửa sổ chính của ứng dụng GUI.
  3. Thêm một hoặc nhiều widget nói trên vào ứng dụng GUI.
  4. Gọi vòng lặp sự kiện chính để các hành động có thể diễn ra trên màn hình máy tính của người dùng.

Ví dụ:

# import Tkinter module
from tkinter import *
# Tạo cửa sổ chính của ứng dụng GUI
top = Tk[]
# Gọi vòng lặp sự kiện chính để các hành động có thể diễn ra trên màn hình máy tính của người dùng
top.mainloop[]

Kết quả:

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

Python cung cấp các tùy chọn khác nhau để phát triển giao diện người dùng đồ họa [GUI]. Quan trọng nhất được liệt kê dưới đây.

Nội dung chính Show

  • Lập trình Tkinter trong Python
  • Các Widget của Tkinter trong Python
  • Bố cục trong Python Tkinter
  • Phương thức pack[] trong Python Tkinter Phương thức pack[] được sử dụng để tổ chức widget theo khối. Vị trí các widget được thêm vào ứng dụng python bằng phương thức pack[] có thể được kiểm soát bằng cách sử dụng các tùy chọn khác nhau được chỉ định trong lệnh gọi phương thức. Cú pháp: Các tùy chọn [options]: expand : Nếu expand là true thì tiện ích con sẽ mở rộng để lấp đầy khoảng trống. Fill : Xác định xem widget con có lấp đầy bất kỳ không gian thừa nào do trình đóng gói phân bổ cho nó hay không hoặc giữ các kích thước tối thiểu của riêng nó: NONE[mặc định], X [chỉ điền theo chiều ngang], Y [chỉ điền theo chiều dọc] hay BOTH [điền theo cả chiều ngang và chiều dọc ]. side : Nó giúp xác định vị trí của widget so với widget cha. Ví dụ: from tkinter import * parent = Tk[] redbutton = Button[parent, text = "Red", fg = "red"] redbutton.pack[side = LEFT] greenbutton = Button[parent, text = "Black", fg = "black"] greenbutton.pack[side = RIGHT] bluebutton = Button[parent, text = "Blue", fg = "blue"] bluebutton.pack[side = TOP] blackbutton = Button[parent, text = "Green", fg = "green"] blackbutton.pack[side = BOTTOM] parent.mainloop[] [adsbygoogle = window.adsbygoogle || []].push[{}]; Kết quả:
  • Phương thức grid[] trong Python Tkinter Trình quản lý layout grid[] sắp xếp các widget ở dạng bảng. Chúng ta có thể chỉ định các hàng và cột. Chúng ta cũng có thể chỉ định khoảng cột [chiều rộng] hoặc chiều dài hàng [chiều cao] của widget con. Đây là một cách có tổ chức hơn để đặt các widget vào ứng dụng python. Cú pháp để sử dụng phương thức grid[] được đưa ra dưới đây. Dưới đây là danh sách tùy chọn của phương thức grid[]: Column: Số cột mà widget con sẽ được đặt. Cột ngoài cùng bên trái được biểu thị bằng 0. Columnspan: Chiều rộng của widget con. Nó đại diện cho số cột mà đến đó, cột được mở rộng. ipadx, ipady: Nó đại diện cho số lượng pixel cho đường viền của gidget. padx, pady: Nó đại diện cho số lượng pixel bên ngoài đường viền của gidget. row: Số hàng mà widget con sẽ được đặt. Hàng trên cùng được biểu thị bằng 0. rowspan: Chiều cao của widget con, tức là số hàng mà tiện ích con được mở rộng. Sticky: Nếu ô lớn hơn một widget, thì Sticky được sử dụng để chỉ định vị trí của widget bên trong ô. Nó có thể là sự ghép nối của các chữ cái sticky đại diện cho vị trí của widget. Nó có thể là N, E, W, S, NE, NW, NS, EW, ES. Ví du: from tkinter import * parent = Tk[] name = Label[parent, text = "Name"].grid[row = 0, column = 0] e1 = Entry[parent].grid[row = 0, column = 1] password = Label[parent, text = "Password"].grid[row = 1, column = 0] e2 = Entry[parent].grid[row = 1, column = 1] submit = Button[parent, text = "Submit"].grid[row = 4, column = 0] parent.mainloop[] Kết quả: [adsbygoogle = window.adsbygoogle || []].push[{}];
  • Phương thức place[] trong Python Tkinter Trình quản lý layout place[] sắp xếp các widget theo các tọa độ x và y. Cú pháp: Dưới đây là danh sách các tùy chọn: Anchor: Nó thể hiện vị trí chính xác của widget con trong container. Giá trị mặc định là NW [góc trên bên trái]. bordermode: Giá trị mặc định của kiểu đường viền là INSIDE đề cập đến việc bỏ qua giá trị gốc bên trong đường viền. Tùy chọn còn lại là OUTSIDE. height, width: Nó đề cập đến chiều cao và chiều rộng của widget tính bằng pixel. relheight, relwidth: Chiều cao và chiều rộng có giá trị trong khoảng 0,0 và 1,0. relx, rely: Có giá trị trong khoảng 0,0 và 1,0, là độ lệch theo hướng ngang và dọc. x, y: Nó đề cập đến độ lệch ngang và dọc theo pixel. Ví dụ: from tkinter import * top = Tk[] top.geometry["400x250"] name = Label[top, text = "Name"].place[x = 30, y = 50] email = Label[top, text = "Email"].place[x = 30, y = 90] password = Label[top, text = "Password"].place[x = 30, y = 130] e1 = Entry[top].place[x = 80, y = 50] e2 = Entry[top].place[x = 80, y = 90] e3 = Entry[top].place[x = 95, y = 130] top.mainloop[] Kết quả:

  • Tkinter: Tkinter là giao diện Python cho bộ công cụ Tk GUI. Chúng ta sẽ học Tkinter trong chương này.
  • wxPython: Đây là một giao diện Python mã nguồn mở cho wxWindows //wxpython.org/
  • JPython: JPython là một cổng Python dành cho Java, cho phép các tập lệnh Python truy cập vào các thư viện Java trên máy cục bộ //www.jython.org/

Lập trình Tkinter trong Python

Tkinter là thư viện GUI tiêu chuẩn cho Python. Tkinter trong Python cung cấp 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 cho bộ công cụ Tk GUI.

Sau đây là các bước để tạo một ứng dụng Tkinter:

  1. import Tkinter module.
  2. Tạo cửa sổ chính của ứng dụng GUI.
  3. Thêm một hoặc nhiều widget nói trên vào ứng dụng GUI.
  4. Gọi vòng lặp sự kiện chính để các hành động có thể diễn ra trên màn hình máy tính của người dùng.

Ví dụ:

# import Tkinter module
from tkinter import *
# Tạo cửa sổ chính của ứng dụng GUI
top = Tk[]
# Gọi vòng lặp sự kiện chính để các hành động có thể diễn ra trên màn hình máy tính của người dùng
top.mainloop[]

Kết quả:


Các Widget của Tkinter trong Python

Có nhiều widget khác nhau như button, canvas, checkbutton, entry, ... chúng được sử dụng để xây dụng các ứng dụng GUI trong Python.

Chủ Đề