Ví dụ về Python Tkinter

Vi Du Ve Python Tkinter



Python là ngôn ngữ lập trình linh hoạt có thể được sử dụng để triển khai các loại ứng dụng khác nhau. Nó có nhiều loại mô-đun để tạo các ứng dụng dựa trên GUI (Giao diện người dùng đồ họa). Python tkinter là một trong số đó. Bất kỳ ứng dụng máy tính để bàn nào cũng có thể được triển khai dễ dàng bằng mô-đun tkinter. Sẽ tốt hơn nếu bạn có kiến ​​thức cơ bản về lập trình Python để tìm hiểu cách sử dụng mô-đun Python tkinter. Các cách sử dụng khác nhau của mô-đun Python tkinter để tạo các ứng dụng GUI được trình bày trong hướng dẫn này.

Cài đặt mô-đun Tkinter

Mô-đun tkinter không được cài đặt trên Python theo mặc định. Vì vậy, bạn phải chạy lệnh sau để cài đặt mô-đun tkinter trong phiên bản Python 3+:







$ sudo đúng cách cài đặt python3-tk



Các tiện ích Tkinter khác nhau

Mô-đun tkinter chứa nhiều vật dụng khác nhau cho nhiều mục đích khác nhau.







Tên tiện ích Mục đích
Nhãn Nó được sử dụng để hiển thị thông báo trợ giúp cho người dùng.
Cái nút Nó được sử dụng để thêm các nút khác nhau trong ứng dụng.
Khung Nó hoạt động giống như một thùng chứa tiện ích chứa các loại tiện ích khác nhau để thiết kế một biểu mẫu có tổ chức.
Lối vào Nó được sử dụng để lấy một văn bản một dòng từ người dùng.
nút kiểm tra Nó được sử dụng để thêm các nút hộp kiểm nhằm lấy nhiều thông tin đầu vào từ người dùng từ nhiều tùy chọn.
Radiobutton Nó được sử dụng để thêm các nút radio để lấy một đầu vào từ người dùng từ nhiều tùy chọn.
Nút hộp tổ hợp Nó được sử dụng để thêm danh sách thả xuống nhằm lấy một đầu vào từ người dùng từ nhiều tùy chọn.
Hộp danh sách Nó được sử dụng để thêm một hộp danh sách để lấy nhiều đầu vào từ người dùng từ nhiều tùy chọn.
Chữ Nó được sử dụng để lấy văn bản nhiều dòng từ người dùng.
Tin nhắn Nó được sử dụng để hiển thị cửa sổ thông báo cho người dùng.
Thanh cuộn Nó dùng để thêm thanh cuộn trong cửa sổ để cuộn cửa sổ lên xuống.
Nút trình đơn Nó được sử dụng để hiển thị menu cho người dùng.
Thực đơn Nó được sử dụng để hiển thị các mục menu cho người dùng.
PanedWindow Nó hoạt động giống như một thùng chứa tiện ích chứa các ô ngang và dọc.
Tab Nó được sử dụng để thêm một cửa sổ tab trong ứng dụng.

Các ví dụ về Tkinter khác nhau

Việc sử dụng một số tiện ích tkinter phổ biến được hiển thị trong các ví dụ sau.

Ví dụ 1: Tạo một ứng dụng GUI đơn giản

Tạo một tệp Python có nội dung sau hiển thị hộp thoại ở giữa màn hình với tiêu đề cũng như chiều cao và chiều rộng cụ thể:



#Nhập mô-đun cần thiết
từ nhập khẩu tkinter *

#Tạo đối tượng cho cửa sổ
tkobj = Tk ( )

#Đặt tiêu đề của cửa sổ
tkobj.title ( 'Tìm hiểu mô-đun tkinter' )

#Đặt chiều cao và chiều rộng của cửa sổ
tkobj.geometry ( '300x150' )

#Đặt vị trí hiển thị của cửa sổ ở giữa
tkobj.eval ( 'tk::PlaceWindow . trung tâm' )

#Chạy Tkinter
tkobj.mainloop ( )

Đầu ra:

Đầu ra sau xuất hiện sau khi thực thi tập lệnh. Một hộp thoại có tiêu đề “Tìm hiểu mô-đun tkinter” được hiển thị:

Ví dụ 2: Sử dụng Nhãn và Nút

Tạo một tệp Python với tập lệnh sau hiển thị một cửa sổ có nhãn và hộp thoại:

#Nhập mô-đun cần thiết
từ nhập khẩu tkinter *

#Tạo đối tượng cho cửa sổ
tkobj = Tk ( )

#Đặt tiêu đề của cửa sổ
tkobj.title ( 'Tìm hiểu mô-đun tkinter' )

#Đặt chiều cao và chiều rộng của cửa sổ
tkobj.geometry ( '400x150' )

#Xác định đối tượng nhãn
lbl = Nhãn ( tkobj, chữ = 'Đó là một cửa sổ đơn giản' )
#Thêm nhãn vào cửa sổ
lbl.pack ( ipadx = 30 , ipad = hai mươi )

#Xác định đối tượng nút
btn = Nút ( tkobj, chữ = 'Nhấp vào đây' )
#Thêm nút vào cửa sổ với vị trí
btn.pack ( ipadx = 30 , ipad = 10 )

#Đặt vị trí hiển thị của cửa sổ ở giữa
tkobj.eval ( 'tk::PlaceWindow . trung tâm' )

#Chạy Tkinter
tkobj.mainloop ( )

Đầu ra:

Một cửa sổ có nhãn và nút xuất hiện ở giữa màn hình sau khi thực thi tập lệnh.

Ví dụ 3: Đặt màu chữ và màu nền

Tạo một tệp Python với tập lệnh sau hiển thị một cửa sổ có nhãn và nút đầy màu sắc. Ở đây, thuộc tính nền được sử dụng để đặt màu nền của nút và thuộc tính foreground được sử dụng để đặt màu phông chữ của nút:

#Nhập mô-đun cần thiết
từ nhập khẩu tkinter *

#Tạo đối tượng cho cửa sổ
tkobj = Tk ( )

#Đặt tiêu đề của cửa sổ
tkobj.title ( 'Tìm hiểu mô-đun tkinter' )

#Đặt chiều cao và chiều rộng của cửa sổ
tkobj.geometry ( '400x150' )

#Xác định đối tượng nhãn
lbl = Nhãn ( tkobj, chữ = 'Đặt màu nền và màu nền trước' )
#Thêm nhãn vào cửa sổ
lbl.pack ( ipadx = 30 , ipad = hai mươi )

#Xác định đối tượng nút có màu nền và màu nền trước
btn = Nút ( tkobj, chữ = 'Nhấp vào đây' , lý lịch = 'màu xanh da trời' , vấn đề xung quanh = 'màu đỏ' )
#Thêm nút vào cửa sổ với vị trí
btn.pack ( ipadx = 30 , ipad = số 8 )

#Đặt vị trí hiển thị của cửa sổ ở giữa
tkobj.eval ( 'tk::PlaceWindow . trung tâm' )

#Chạy Tkinter
tkobj.mainloop ( )

Đầu ra:

Cửa sổ sau xuất hiện sau khi thực thi tập lệnh:

Ví dụ 4: Sử dụng Frame

Trong tập lệnh Python sau, một nhãn và hai nút được hiển thị trong tiện ích khung. Tạo một tệp Python có tập lệnh để kiểm tra đầu ra:

#Nhập mô-đun cần thiết
từ nhập khẩu tkinter *

#Tạo đối tượng cho cửa sổ
tkobj = Tk ( )

#Đặt tiêu đề của cửa sổ
tkobj.title ( 'Mô-đun tkinter' )

#Đặt chiều cao và chiều rộng của cửa sổ
tkobj.geometry ( '250x100' )

#Xác định đối tượng khung
frm = Khung ( tkobj )
frm.pack ( )
lframe = Khung ( tkobj )
lframe.pack ( bên = TRÁI )
rframe = Khung ( tkobj )
rframe.pack ( bên =PHẢI )

#Xác định nhãn bên trong khung
lbl = Nhãn ( từ, chữ = 'Sử dụng khung' , fg = 'màu xanh da trời' )
lbl.pack ( )

#Xác định các nút bên trong khung
btn1 = Nút ( khung, chữ = '' , fg = 'đen' , bg = 'trắng' )
btn2.pack ( bên =PHẢI )

#Đặt vị trí hiển thị của cửa sổ ở giữa
tkobj.eval ( 'tk::PlaceWindow . trung tâm' )

#Chạy Tkinter
tkobj.mainloop ( )

Đầu ra:

Đầu ra sau xuất hiện sau khi thực thi tập lệnh:

Ví dụ 5: Xử lý sự kiện Button

Việc sử dụng hộp thông báo được hiển thị trong đoạn script sau. Hộp thông báo được hiển thị khi nhấp vào nút:

#Nhập các mô-đun cần thiết
từ nhập khẩu tkinter *
từ hộp thông báo nhập tkinter

#Tạo đối tượng cho cửa sổ
tkobj = Tk ( )

#Đặt tiêu đề của cửa sổ
tkobj.title ( 'Tìm hiểu mô-đun tkinter' )

#Đặt chiều cao và chiều rộng của cửa sổ
tkobj.geometry ( '400x150' )

#Xác định hàm hiển thị hộp thông báo
hiển thị chắc chắn ( ) :
hộp thư.showinfo ( 'Thông tin' , 'Nút được bấm.' )

#Tạo văn bản nhãn với màu phông chữ, kiểu và vị trí
Nhãn ( tkobj, chữ = 'Ứng dụng máy tính để bàn sử dụng tkinter.' , fg = 'màu xanh lá' ) .đóng gói ( lúa = 25 )

#Tạo nút bằng trình xử lý nút
Cái nút ( tkobj, chữ = 'Tin chương trình' , yêu cầu =hiển thị ) .đóng gói ( )

#Đặt vị trí hiển thị của cửa sổ ở giữa
tkobj.eval ( 'tk::PlaceWindow . trung tâm' )

#Chạy Tkinter
tkobj.mainloop ( )

Đầu ra:

Cửa sổ sau xuất hiện sau khi thực thi tập lệnh:

Hộp thông báo sau xuất hiện sau khi nhấn nút:

Ví dụ 6: Lấy đầu vào từ người dùng

Nhiều tiện ích có sẵn trong mô-đun tkinter để lấy đầu vào từ người dùng. Việc sử dụng các vật dụng phổ biến nhất được hiển thị trong tập lệnh sau. Tạo một tệp Python với đoạn mã sau để kiểm tra đầu ra:

#Nhập các mô-đun cần thiết
từ nhập khẩu tkinter *
từ tkinter.ttk nhập Combobox
từ tkinter nhập ttk
nhập khẩu tkinter BẰNG tk
từ hộp thông báo nhập tkinter

#Tạo đối tượng tkinter
tkobj = Tk ( )

#Đặt tiêu đề của cửa sổ
tkobj.title ( 'Mẫu thông tin người dùng' )

#Đặt chiều cao và chiều rộng của cửa sổ
tkobj.geometry ( '550x320' )

#Xác định hàm để hiển thị các giá trị của biểu mẫu
chắc chắn display_values ( ) :
#Đọc văn bản một dòng
tên = 'Tên : ' + tên_val.get ( ) + ' \N '
#Đọc giá trị nút radio đã chọn
nếu như giới tính.get ( ) == 1 :
g = 'Nam giới'
khác:
g = 'Nữ giới'
g = 'Giới tính : ' + g + ' \N '

#Đọc các giá trị hộp kiểm đã chọn
trò chơi = ''
nếu như g1.get ( ) == 1 :
trò chơi = 'Bóng chày'
nếu g2.get ( ) == 1 :
nếu như trò chơi ! = '' :
trò chơi += ',' + 'Bóng đá'
khác:
trò chơi = 'Bóng đá'
nếu như g3.get ( ) == 1 :
nếu như trò chơi ! = '' :
trò chơi += ',' + 'Bóng rổ'
khác:
trò chơi = 'Bóng rổ'
trò chơi = 'Trò chơi : ' + trò chơi + ' \N '

#Đọc giá trị combobox
đất nước = 'Quốc gia : ' + countryVal.get ( ) + ' \N '
#Đọc văn bản nhiều dòng
địa chỉ = 'Địa chỉ : ' + addr.get ( '1.0' , 'kết thúc' ) + ' \N '
#Hợp nhất tất cả các giá trị được lấy bởi các trường
form_values ​​= tên + g + trò chơi + quốc gia + địa chỉ
#Hiển thị các giá trị trong hộp thông báo
hộp thư.showinfo ( 'Chi tiết thông tin người dùng' , giá trị biểu mẫu )


#Tạo nhãn và trường tên
Nhãn ( tkobj, chữ = 'Tên : ' ) .địa điểm ( x = 100 , = hai mươi )
name_val = StringVar ( )
ttk.Entry ( tkobj, văn bản biến =tên_val ) .đóng gói ( Padx = 220 , lúa = hai mươi )

#Tạo nhãn và nút radio
Nhãn ( tkobj, chữ = 'Giới tính : ' ) .địa điểm ( x = 100 , = 60 )
giới tính = IntVar ( )
giới tính.set ( 1 )
Radiobutton ( tkobj, chữ = 'Nam giới' , Biến đổi = giới tính, giá trị = 1 ) .địa điểm ( x = 210 , = 60 )
Radiobutton ( tkobj, chữ = 'Nữ giới' , Biến đổi = giới tính, giá trị = 2 ) .địa điểm ( x = 290 , = 60 )

#Tạo nhãn và nút hộp kiểm
Nhãn ( tkobj, chữ = 'Trò chơi yêu thích:' ) .địa điểm ( x = 100 , = 100 )
g1 = IntVar ( )
g2 = IntVar ( )
g3 = IntVar ( )
nút kiểm tra ( tkobj, chữ = 'Bóng chày' , Biến đổi =g1 ) .địa điểm ( x = 210 , = 100 )
nút kiểm tra ( tkobj, chữ = 'Bóng đá' , Biến đổi =g2 ) .địa điểm ( x = 290 , = 100 )
nút kiểm tra ( tkobj, chữ = 'Bóng rổ' , Biến đổi =g3 ) .địa điểm ( x = 380 , = 100 )

#Xác định các giá trị tuple
dữ liệu = ( 'Bangladesh' , 'Nhật Bản' , 'HOA KỲ' )
#Tạo nhãn và hộp tổ hợp
Nhãn ( tkobj, chữ = 'Quốc gia : ' ) .địa điểm ( x = 100 , = 140 )
countryVal = StringVar ( )
Hộp tổ hợp ( tkobj, giá trị = dữ liệu, văn bản biến =countryVal ) .địa điểm ( x = 220 , = 140 )

#Tạo nhãn và trường văn bản
Nhãn ( tkobj, chữ = 'Địa chỉ : ' ) .địa điểm ( x = 100 , = 180 )
địa chỉ = ( tk.Text ( tkobj, chiều cao = 3 , chiều rộng = hai mươi ) )
địa chỉ ( x = 220 , = 180 )

#Tạo nút bằng trình xử lý nút
Cái nút ( tkobj, chữ = 'Nộp' , yêu cầu =display_values ) .địa điểm ( x = 250 , = 250 )

#Chạy Tkinter
tkobj.mainloop ( )

Đầu ra:

Cửa sổ sau xuất hiện sau khi thực thi tập lệnh:

Điền vào các trường của biểu mẫu và nhấn vào nút “Gửi”.

Hộp thông báo sau với các giá trị đã gửi sẽ xuất hiện:

Phần kết luận

Các phương pháp sử dụng mô-đun Python tkinter để tạo ứng dụng GUI được trình bày trong hướng dẫn này bằng nhiều ví dụ.