Bắt đầu tạo ứng dụng trên máy tính để bàn bằng Python với Thư viện GUI Tkinter

Bắt đầu tạo ứng dụng trên máy tính để bàn bằng Python với Thư viện GUI Tkinter

Tkinter là bộ công cụ Giao diện Người dùng Đồ họa (GUI) mà bạn nên dùng thử nếu muốn khám phá sức mạnh của Python trong việc tạo các ứng dụng dành cho máy tính để bàn.





Ở đây, chúng ta hãy xem xét những điều cơ bản của mô-đun Tkinter GUI.





nhắn tin trực tuyến miễn phí gửi và nhận tin nhắn văn bản

Thiết lập Tkinter

Thông thường, bạn không cần cài đặt tkinter Tuy nhiên, riêng nếu bạn đã cài đặt phiên bản Python mới hơn, bắt đầu với Python 3. Thư viện có thể không hoạt động với các phiên bản Python cũ. Đây là một vấn đề phổ biến đối với người dùng Mac và Linux, vì các hệ điều hành này thường đi kèm với các phiên bản Python cũ hơn theo mặc định.





Nói chung, để sử dụng tkinter , hãy đảm bảo rằng bạn tải xuống và cài đặt phiên bản Python tương thích mới nhất trên PC của mình từ phiên bản chính thức python.org trang mạng.

Ngoài ra, nếu bạn đang sử dụng Mac, bạn có thể tải xuống phiên bản ActiveTcl mới nhất, tkinter trình biên dịch từ ActiveState .



Cách sử dụng Tkinter

Tkinter phụ thuộc vào tích hợp của nó TK lớp. Và nó kết thúc tất cả các sự kiện trong GUI trong một vòng lặp chính . Do đó, vòng lặp chính wrapper làm cho của bạn tkinter mã thực thi.

Để bắt đầu với tkinter :





from tkinter import Tk
Tk().mainloop()

Chạy đoạn mã trên sẽ tạo ra một khoảng trống tkinter khung.

Tuy nhiên, các tính năng tùy biến của Tkinter nằm trong các widget tích hợp của nó.





Để sử dụng các tiện ích này, bạn có thể nhập chúng từ tkinter Bằng cách thay thế từ tkinter nhập Tk với:

from tkinter import *
t = Tk()
t.mainloop()

Bạn cũng có thể điều chỉnh kích thước Cửa sổ với hình học và sau đó chỉ định một tiêu đề bằng cách sử dụng chức vụ widget của tkinter :

t = Tk()
t.geometry('600x600')
t.title('Tk Tutorial')
t.mainloop()

Tiện ích nhãn Tkinter

Tkinter cho phép bạn viết văn bản thuần túy trực tiếp lên GUI bằng cách sử dụng Nhãn mác tiện ích con:

t = Tk()
Label(t, text = 'MUO Tkinter tutorial').grid()
t.mainloop()

Các lưới () tuy nhiên, phương pháp này là một phương pháp thay thế cho đóng gói() phương pháp. Nó gắn các widget của bạn vào GUI, làm cho chúng hiển thị.

Bạn cũng có thể chỉ định một phông chữ cho Nhãn mác chữ:

t = Tk()
Label(t, text = 'MUO Tkinter tutorial', font=(60)).grid()
t.mainloop()

Làm việc với các tiện ích nút trong Tkinter

Các nút là một số tiện ích con được sử dụng nhiều nhất trong tkinter . Và bạn có thể thêm các nút có thể nhấp này vào GUI của mình bằng cách sử dụng các tiện ích nút tích hợp sẵn khác nhau.

Đây là cách thêm nút chính vào GUI của bạn bằng cách sử dụng Cái nút tiện ích con:

t = Tk()
Button(t, text = 'Clickable', bg = 'black', fg = 'white').grid()
t.mainloop()

Các bgfg từ khóa mô tả màu nền của nút và màu của văn bản bên trong nút tương ứng.

Bạn cũng có thể điều chỉnh kích thước của nút bằng cách bao gồm Chiều caochiều rộng thông số:

t = Tk()
Button(t, text = 'Clickable', bg = 'black', fg = 'white', , ).grid()
t.mainloop()

Đây là đầu ra cho điều đó:

cách xoay video trên windows media player

Và nếu bạn muốn làm cho nút trở nên hấp dẫn hơn về mặt hình ảnh, bạn có thể bao gồm sự cứu tế từ khóa và sau đó điều chỉnh độ rộng đường viền của nó:

t = Tk()
Button(t, text='Clickable', bg='blue', fg='white',
height=2, width=10, relief=RAISED, borderwidth=6).grid()
t.mainloop()

Và nó trông như thế này:

Thay thế ĐƯA LÊN với BẰNG PHẲNG để xem nó diễn ra như thế nào.

Bạn có thể thêm bao nhiêu nút tùy thích. Nhưng bạn lưu ý tránh trùng lặp nội dung.

Để tránh chồng chéo, bạn có thể chỉ định vị trí hàng và cột cho mỗi nút:

t = Tk()
Button(t, text=1, bg='black', fg='white').grid(row=1, column=1)
Button(t, text=2, bg='black', fg='white').grid(row=2, column=1)
Button(t, text=3, bg='black', fg='white').grid(row=3, column=1)
Button(t, text=4, bg='black', fg='white').grid(row=4, column=1)
t.mainloop()

Một tùy chọn chỉ huy từ khóa, tuy nhiên, thêm các sự kiện vào Cái nút tiện ích con. Về bản chất, nó neo một chức năng tùy chọn xử lý các sự kiện nhất định khi bạn nhấp vào một nút.

Ví dụ, đoạn mã dưới đây nhân giá trị của mỗi nút với 6 khi bạn nhấp vào nó. Và nó dựa trên một chức năng được xác định trước:

def buttonpress(r):
r = 6*r
Label(t, text=r, font=(60)).grid(row=5, column=2)
t = Tk()
Button(t, text = 1, bg = 'black', fg = 'white', width = 10, height = 2,
command = lambda:buttonpress(1)).grid(row=1, column = 1, pady = 6)
Button(t, text = 2, bg = 'black', fg = 'white', width = 10,
command = lambda:buttonpress(2)).grid(row = 2, column = 1, pady = 6)
Button(t, text = 3, bg = 'black', fg = 'white', width = 10,
command = lambda:buttonpress(3)).grid(row = 3, column = 1, pady = 6)
Button(t, text = 4, bg = 'black', fg = 'white', width = 10,
command = lambda:buttonpress(4)).grid(row = 4, column = 1, pady = 6)
t.mainloop()

Trong đoạn mã trên, bấm nút xử lý sự kiện nhân. Các Cái nút sau đó tiện ích con trỏ đến trình xử lý sự kiện đó bằng cách sử dụng lambda hàm số.

Và nếu bạn lo lắng về miếng đệm từ khóa, nó phân tách rõ ràng từng nút trên hàng. Thay thế cái này bằng padx tách các nút trên cột. Và bạn có thể sử dụng đồng thời cả hai từ khóa để tách các nút trên cả hai trục như bạn muốn.

Điều đó nói rằng, bạn không muốn phát minh lại bánh xe cho mọi nút như bạn đã làm trong mã trước đó. Điều này làm chậm thời gian thực thi, cộng với nó làm cho mã của bạn khó đọc và bị thu hẹp.

Nhưng bạn có thể sử dụng vòng lặp for để tránh sự lặp lại này.

Vì vậy, đây là một phiên bản ngắn hơn và tốt hơn của đoạn mã trên:

def buttonpress(r):
r = 6*r
Label(t, text = r, font = (60)).grid(row = 5, column = 2)
t = Tk()
a = [1, 4, 6, 7]
for i in a:
j = lambda y = i:buttonpress(y)
Button(t, text = i, bg = 'black', fg = 'white', width = 10, height = 2,
command=j).grid(row = i, column = 1, pady = 6)
t.mainloop()

Hãy cùng khám phá thêm sức mạnh của vòng lặp để thêm các nút menu vào GUI của bạn:

from tkinter import *
t = Tk()
buttons = ['Files', 'Dashboard', 'Menu', 'Settings', 'Help']
m = 0
for i in range(len(buttons)):
# Get each text in the buttons array using a list index as m increases.
# Then let the column increase by 1 through the length of the array:

Menubutton(t, text=buttons[m], bg='blue', fg='white').grid(row=5, column=i)
m += 1
t.mainloop()

Thêm các nút kiểm tra vào GUI của bạn cũng khá dễ dàng:

t = Tk()
Checkbutton(t, text = 'Select option').grid()
t.mainloop()

Hãy nhân nút kiểm tra đó bằng cách sử dụng như chúng tôi đã làm trước đó.

Cách tạo menu thả xuống với tiện ích menu của Tkinter

Các Thực đơn widget cho phép bạn thiết kế menu thả xuống có thể nhấp vào tkinter .

Bắt đầu sớm hơn, tkinter cung cấp nhiều tùy chọn widget. Và bạn sẽ sử dụng một số trong số chúng trong khi thiết kế menu thả xuống của mình.

Dưới đây là một số tùy chọn widget phổ biến mà bạn sẽ gặp khi thực hiện trình đơn thả xuống:

  • add_cascade: Nó hiển thị một nhãn menu và dán nó vào vị trí của nó.
  • add_separator: Nó phân ranh giới các menu con và nhóm chúng thành các menu con trên và dưới.
  • add_command: Đây là nơi bạn đặt tên cho menu con của mình. Cuối cùng, nó chấp nhận một đối số lệnh nơi bạn có thể chỉ định một trình xử lý sự kiện.

Dưới đây là một ví dụ thả xuống sử dụng ba tùy chọn sau:

from tkinter import *
t = Tk()
fileOptions = ['New', 'open', 'Save', 'Save as']
fileOptionsAfterseparator = ['Import', 'Export', 'Exit']
viewOptions = ['Transform', 'Edit', 'Create']
menuBar = Menu(t)
file = Menu(menuBar, tearoff=0)
for i in fileOptions:
file.add_command(label=i, command=None)
file.add_separator()
for i in fileOptionsAfterseparator:
file.add_command(label=i, command=None)
menuBar.add_cascade(label='File', menu=file)
View = Menu(menuBar, tearoff=0)
for i in viewOptions:
View.add_command(label=i, command=None)
menuBar.add_cascade(label='View', menu=View)
t.config(menu=menuBar)
t.mainloop()

Hãy xem nó trông như thế nào:

Trình đơn tùy chọn Tkinter

Một Optionmenu , không giống như Thực đơn thả xuống, chuyển nhãn của nó thành một tùy chọn đã chọn.

Mặc dù bạn có thể chỉ định giá trị nhãn mặc định cho menu tùy chọn, nhưng nó không có nhãn theo mặc định.

Có liên quan: Ý tưởng dự án Python phù hợp cho người mới bắt đầu

Đây là cách tạo menu tùy chọn trong tkinter :

t = Tk()
Omenu = StringVar() #set the variable type of the options
Omenu.set('MUO') #specify a default value for the menu icon
OptionMenu(t, Omenu, 'MUO', 'Amazon', 'Tutorial').grid()
t.mainloop()

Xây dựng một ứng dụng máy tính để bàn có thể tái sử dụng với Tkinter

Tkinter cung cấp một loạt các tính năng giúp bạn tạo các ứng dụng GUI tương tác trên máy tính để bàn. Mặc dù nó có thể không có nhiều tính năng làm đẹp linh hoạt như một số mô-đun GUI Python khác, nhưng nó vẫn là một công cụ tiện dụng đáng để khám phá. Và trong khi các ví dụ ở đây chỉ hiển thị một số khái niệm cơ bản, tkinter cung cấp nhiều tính năng nâng cao hơn mà bạn có thể dùng thử.

ai không theo dõi lại tôi trên instagram trực tuyến

Điều đó nói rằng, bạn có thể xây dựng một máy tính để bàn GUI, tạo một trình soạn thảo văn bản nhỏ hoặc thậm chí tạo một ứng dụng GUI trên máy tính để bàn để quản lý hàng tồn kho của mình. Nếu bạn muốn sải cánh và trở thành một chuyên gia về GUI cho máy tính để bàn, bạn thậm chí có thể xem các mô-đun GUI khác của Python.

Đăng lại Đăng lại tiếng riu ríu E-mail GUI? Giao diện người dùng đồ họa là gì?

Bạn có sử dụng GUI không? Rất có thể bạn có vì bạn sử dụng chúng mỗi ngày.

Đọc tiếp
Chủ đề liên quan
  • Lập trình
  • Python
Giới thiệu về tác giả Idisou Omisola(Đã xuất bản 94 bài báo)

Idowu đam mê mọi thứ về công nghệ và năng suất thông minh. Trong thời gian rảnh rỗi, anh ấy chơi mã hóa và chuyển sang bàn cờ khi anh ấy buồn chán, nhưng anh ấy cũng thích thoát khỏi thói quen đôi khi. Niềm đam mê của anh ấy trong việc chỉ ra cho mọi người cách thức xung quanh công nghệ hiện đại đã thúc đẩy anh ấy viết nhiều hơn.

Xem thêm từ Idowu Omisola

Theo dõi bản tin của chúng tôi

Tham gia bản tin của chúng tôi để biết các mẹo công nghệ, đánh giá, sách điện tử miễn phí và các ưu đãi độc quyền!

Bấm vào đây để đăng ký