Như trong các hướng dẫn trước của chúng tôi, chúng tôi đã giới thiệu cách tạo nút tkinter, nhãn tkinter, mục nhập tkinter, khung tkinter và nút kiểm tkinter, v.v. Giờ đây, với sự trợ giúp của tất cả các tiện ích được thảo luận trong các phần trước, chúng ta sẽ tạo Ứng dụng Máy tính bằng Tkinter
Đây là giao diện của máy tính của chúng tôi, được tạo bằng cách sử dụng trường nhập liệu, các nút và với mục đích tính toán, chúng tôi sẽ sử dụng logic trong mã được xác định trong các hàm, chẳng hạn như nếu bạn muốn cộng hai số thì đằng sau điều này phải có logic
Chúng tôi có Trường nhập liệu trong đó đầu vào của người dùng sẽ được hiển thị và kết quả cuối cùng của phép tính sẽ được hiển thị
Và các nút như 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, +, -, *, /, =,. , và C [nút xóa]
Máy tính là gì?
Đối với những người chưa biết, máy tính bỏ túi về cơ bản là một chương trình trên máy tính mô phỏng hành vi của bất kỳ máy tính cầm tay nào hữu ích để thực hiện các phép tính Toán học. Nó là một thiết bị rất cơ bản được sử dụng trong cuộc sống hàng ngày của chúng ta. Bây giờ tất cả các điện thoại thông minh cũng có ứng dụng Máy tính trong đó
Trong khi tạo bất kỳ Ứng dụng GUI nào, chủ yếu có hai bước
Bước đầu tiên là tạo Giao diện người dùng
Bước thứ hai là bước quan trọng nhất và trong bước này, để thêm các chức năng vào GUI
Bây giờ, hãy bắt đầu với việc tạo một ứng dụng máy tính đơn giản bằng Tkinter trong Python được sử dụng để tính toán số học cơ bản
Mã ứng dụng máy tính
Bây giờ là lúc xem mã để tạo Ứng dụng Máy tính bằng Tkinter
from tkinter import *
win = Tk[] # This is to create a basic window
win.geometry["312x324"] # this is for the size of the window
win.resizable[0, 0] # this is to prevent from resizing the window
win.title["Calculator"]
###################Starting with functions ####################
# 'btn_click' function :
# This Function continuously updates the
# input field whenever you enter a number
def btn_click[item]:
global expression
expression = expression + str[item]
input_text.set[expression]
# 'bt_clear' function :This is used to clear
# the input field
def bt_clear[]:
global expression
expression = ""
input_text.set[""]
# 'bt_equal':This method calculates the expression
# present in input field
def bt_equal[]:
global expression
result = str[eval[expression]] # 'eval':This function is used to evaluates the string expression directly
input_text.set[result]
expression = ""
expression = ""
# 'StringVar[]' :It is used to get the instance of input field
input_text = StringVar[]
# Let us creating a frame for the input field
input_frame = Frame[win, width=312, height=50, bd=0, highlightbackground="black", highlightcolor="black", highlightthickness=2]
input_frame.pack[side=TOP]
#Let us create a input field inside the 'Frame'
input_field = Entry[input_frame, font=['arial', 18, 'bold'], textvariable=input_text, width=50, bg="#eee", bd=0, justify=RIGHT]
input_field.grid[row=0, column=0]
input_field.pack[ipady=10] # 'ipady' is internal padding to increase the height of input field
#Let us creating another 'Frame' for the button below the 'input_frame'
btns_frame = Frame[win, width=312, height=272.5, bg="grey"]
btns_frame.pack[]
# first row
clear = Button[btns_frame, text = "C", fg = "black", width = 32, height = 3, bd = 0, bg = "#eee", cursor = "hand2", command = lambda: bt_clear[]].grid[row = 0, column = 0, columnspan = 3, padx = 1, pady = 1]
divide = Button[btns_frame, text = "/", fg = "black", width = 10, height = 3, bd = 0, bg = "#eee", cursor = "hand2", command = lambda: btn_click["/"]].grid[row = 0, column = 3, padx = 1, pady = 1]
# second row
seven = Button[btns_frame, text = "7", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click[7]].grid[row = 1, column = 0, padx = 1, pady = 1]
eight = Button[btns_frame, text = "8", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click[8]].grid[row = 1, column = 1, padx = 1, pady = 1]
nine = Button[btns_frame, text = "9", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click[9]].grid[row = 1, column = 2, padx = 1, pady = 1]
multiply = Button[btns_frame, text = "*", fg = "black", width = 10, height = 3, bd = 0, bg = "#eee", cursor = "hand2", command = lambda: btn_click["*"]].grid[row = 1, column = 3, padx = 1, pady = 1]
# third row
four = Button[btns_frame, text = "4", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click[4]].grid[row = 2, column = 0, padx = 1, pady = 1]
five = Button[btns_frame, text = "5", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click[5]].grid[row = 2, column = 1, padx = 1, pady = 1]
six = Button[btns_frame, text = "6", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click[6]].grid[row = 2, column = 2, padx = 1, pady = 1]
minus = Button[btns_frame, text = "-", fg = "black", width = 10, height = 3, bd = 0, bg = "#eee", cursor = "hand2", command = lambda: btn_click["-"]].grid[row = 2, column = 3, padx = 1, pady = 1]
# fourth row
one = Button[btns_frame, text = "1", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click[1]].grid[row = 3, column = 0, padx = 1, pady = 1]
two = Button[btns_frame, text = "2", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click[2]].grid[row = 3, column = 1, padx = 1, pady = 1]
three = Button[btns_frame, text = "3", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click[3]].grid[row = 3, column = 2, padx = 1, pady = 1]
plus = Button[btns_frame, text = "+", fg = "black", width = 10, height = 3, bd = 0, bg = "#eee", cursor = "hand2", command = lambda: btn_click["+"]].grid[row = 3, column = 3, padx = 1, pady = 1]
# fourth row
zero = Button[btns_frame, text = "0", fg = "black", width = 21, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click[0]].grid[row = 4, column = 0, columnspan = 2, padx = 1, pady = 1]
point = Button[btns_frame, text = ".", fg = "black", width = 10, height = 3, bd = 0, bg = "#eee", cursor = "hand2", command = lambda: btn_click["."]].grid[row = 4, column = 2, padx = 1, pady = 1]
equals = Button[btns_frame, text = "=", fg = "black", width = 10, height = 3, bd = 0, bg = "#eee", cursor = "hand2", command = lambda: bt_equal[]].grid[row = 4, column = 3, padx = 1, pady = 1]
win.mainloop[]
Có rất nhiều chức năng trong Tkinter với sự trợ giúp của chúng, việc tạo một máy tính đơn giản trở nên dễ dàng và thuận tiện chỉ với đoạn mã nhỏ này
Ngoài các tiện ích Tkinter, chúng tôi đã xác định các chức năng sau trong mã của mình
btn_click[]
Chức năng. Chức năng này xử lý nút bấm vào các nút số khác nhau để thêm chúng vào thao tác
bt_clear[]
Chức năng. Hàm này được sử dụng để xử lý thao tác xóa để xóa đầu vào trước đó trong ứng dụng Máy tính
Chức năng bt_equal[]
. Hàm này dùng để xử lý nút bằng để thực hiện thao tác và hiển thị kết quả
Bây giờ chúng tôi sẽ hiển thị cho bạn một ảnh chụp nhanh dưới dạng đầu ra của đoạn mã trên. Và vâng, bạn có thể triển khai nó trên hệ thống của mình để hiểu rõ hơn về Ứng dụng Máy tính bằng Tkinter
Tóm lược
Trong hướng dẫn này, chúng tôi đã phát triển một ứng dụng Máy tính cơ bản bằng Tkinter và các tiện ích khác nhau của Tkinter mà chúng tôi đã đề cập trong Hướng dẫn Tkinter của mình. Nhấp vào Tiếp theo để xem thêm Ứng dụng được phát triển bằng Tkinter vì điều này sẽ giúp bạn thực hành những gì bạn đã học