Hướng dẫn how do i convert currency to gui in python? - làm cách nào để chuyển đổi tiền tệ sang gui trong python?

& nbsp; · 13 phút Đọc · Cập nhật tháng 8 năm 2022 · Giao diện lập trình ứng dụng · Tài chính · Lập trình GUI · 13 min read · Updated aug 2022 · Application Programming Interfaces · Finance · GUI Programming

Tkinter là một trong những thư viện Python tích hợp tuyệt vời đã có từ lâu; Nó được sử dụng để tạo giao diện người dùng đồ họa Snazzy (GUI) cho các ứng dụng máy tính để bàn. Bài viết này sẽ dạy bạn xây dựng một ứng dụng chuyển đổi tiền tệ bằng thư viện Tkinter và trao đổi API.

Nếu bạn muốn sử dụng một nguồn dữ liệu khác, thì hãy kiểm tra hướng dẫn này, nơi chúng tôi sử dụng năm nguồn khác nhau để chuyển đổi tiền tệ, bao gồm API Fixer, Yahoo Finance, v.v.

API trao đổi là API tiền tệ thời gian thực vừa miễn phí và Pro, nó hỗ trợ tỷ lệ chuyển đổi tiền tệ cho 161 loại tiền tệ và đối với tài khoản freemium, bạn được yêu cầu thực hiện 250 yêu cầu mỗi tháng, vì vậy sử dụng tài khoản miễn phí sẽ lưu vào ngày cho chúng tôi.

Vào cuối bài viết này, chúng tôi sẽ xây dựng một ứng dụng trông như sau:

Hướng dẫn how do i convert currency to gui in python? - làm cách nào để chuyển đổi tiền tệ sang gui trong python?

Đây là bảng nội dung:

  • Thiết lập dự án
  • Thiết kế giao diện người dùng đồ họa (GUI)
  • Nhận khóa API cho API trao đổi
  • Điền vào các hộp combo với tiền tệ
  • Thực hiện chức năng chuyển đổi tiền tệ
  • Nắm bắt ngoại lệ
  • Sự kết luận

Thiết lập dự án

Thiết kế giao diện người dùng đồ họa (GUI)

Nhận khóa API cho API trao đổi

$ mkdir currencyconverter 
$ cd currencyconverter

Điền vào các hộp combo với tiền tệ

$ python -m venv env

Thực hiện chức năng chuyển đổi tiền tệ

$ .\env\Scripts\activate.bat

Nắm bắt ngoại lệ

$ source env/bin/activate

Sự kết luận

$ pip install requests

Điều đầu tiên trước tiên, chúng ta hãy thiết lập dự án. Chúng tôi sẽ bắt đầu bằng cách tạo môi trường ảo và sau đó cài đặt thư viện Python $ .\env\Scripts\activate.bat0.

Tạo một thư mục có tên

$ .\env\Scripts\activate.bat
1 và
$ .\env\Scripts\activate.bat
2 vào thư mục:

Hướng dẫn how do i convert currency to gui in python? - làm cách nào để chuyển đổi tiền tệ sang gui trong python?

Chúng tôi sẽ tạo môi trường ảo trong thư mục này và đặt tên cho nó

$ .\env\Scripts\activate.bat
3 hoặc bất kỳ tên nào bạn chọn:

# importing everything from tkinter
from tkinter import *
# importing ttk widgets from tkinter
from tkinter import ttk

# creating the main window
window = Tk()
# this gives the window the width(310), height(320) and the position(center)
window.geometry('310x340+500+200')
# this is the title for the window
window.title('Currency Converter')
# this will make the window not resizable, since height and width is FALSE
window.resizable(height=FALSE, width=FALSE)
# this runs the window infinitely until it is closed
window.mainloop()

Kích hoạt môi trường ảo, trên Windows:

Trên Linux/MacOS:

Bây giờ môi trường ảo đã được kích hoạt, hãy cài đặt thư viện

$ .\env\Scripts\activate.bat
0:

Hướng dẫn how do i convert currency to gui in python? - làm cách nào để chuyển đổi tiền tệ sang gui trong python?

Thiết kế giao diện người dùng đồ họa (GUI)"Currency Converter" and it should look like this:

Hướng dẫn how do i convert currency to gui in python? - làm cách nào để chuyển đổi tiền tệ sang gui trong python?

Trong phần này, chúng tôi sẽ bắt đầu thiết kế GUI cho ứng dụng từ đầu. Trước hết, tạo một tệp có tên

$ .\env\Scripts\activate.bat
5 Đây không phải là một quy ước; Bạn có thể đặt tên cho nó bất cứ điều gì bạn muốn:

window.resizable(height=FALSE, width=FALSE)

Chúng tôi sẽ bắt đầu bằng cách tạo cửa sổ chính của ứng dụng. Mở tệp và dán mã này:

# colors for the application
primary = '#081F4D'
secondary = '#0083FF'
white = '#FFFFFF'

# the top frame
top_frame = Frame(window, bg=primary, width=300, height=80)
top_frame.grid(row=0, column=0)
# label for the text Currency Converter
name_label = Label(top_frame, text='Currency Converter', bg=primary, fg=white, pady=30, padx=24, justify=CENTER, font=('Poppins 20 bold'))
name_label.grid(row=0, column=0)

Trong mã trên, chúng tôi đang tạo cửa sổ chính bằng hàm

$ .\env\Scripts\activate.bat
6 đi kèm với tkinter. Sau đó, chúng tôi xác định kích thước của cửa sổ với hàm
$ .\env\Scripts\activate.bat
7. Để cung cấp cho cửa sổ một tiêu đề, chúng tôi đang sử dụng chức năng
$ .\env\Scripts\activate.bat
8.

Chúng tôi cũng sử dụng chức năng

$ .\env\Scripts\activate.bat
9 với các thuộc tính của nó được đặt thành
$ source env/bin/activate
0 để làm cho cửa sổ không thể chống lại. Cuối cùng, chức năng
$ source env/bin/activate
1 sẽ mở cửa sổ của ứng dụng cho đến khi người dùng đóng nó.

Hướng dẫn how do i convert currency to gui in python? - làm cách nào để chuyển đổi tiền tệ sang gui trong python?

Nếu bạn chạy chương trình này, bạn sẽ nhận được đầu ra này:

Hướng dẫn how do i convert currency to gui in python? - làm cách nào để chuyển đổi tiền tệ sang gui trong python?

Bây giờ chúng ta hãy tạo hai khung hình, khung trên cùng và khung nút. Khung trên cùng sẽ chứa văn bản "Bộ chuyển đổi tiền tệ" và nó sẽ trông như thế này:

# the top frame
top_frame = Frame(window, bg=primary, width=300, height=80)
top_frame.grid(row=0, column=0)
# label for the text Currency Converter
name_label = Label(top_frame, text='Currency Converter', bg=primary, fg=white, pady=30, padx=24, justify=CENTER, font=('Poppins 20 bold'))
name_label.grid(row=0, column=0)
# the bottom frame
bottom_frame = Frame(window, width=300, height=250)
bottom_frame.grid(row=1, column=0)
# widgets inside the bottom frame
from_currency_label = Label(bottom_frame, text='FROM:', font=('Poppins 10 bold'), justify=LEFT)
from_currency_label.place(x=5, y=10)
to_currency_label = Label(bottom_frame, text='TO:', font=('Poppins 10 bold'), justify=RIGHT)
to_currency_label.place(x=160, y=10)
# this is the combobox for holding from_currencies
from_currency_combo = ttk.Combobox(bottom_frame, width=14, font=('Poppins 10 bold'))
from_currency_combo.place(x=5, y=30)
# this is the combobox for holding to_currencies
to_currency_combo = ttk.Combobox(bottom_frame, width=14, font=('Poppins 10 bold'))
to_currency_combo.place(x=160, y=30)
# the label for AMOUNT
amount_label = Label(bottom_frame, text='AMOUNT:', font=('Poppins 10 bold'))
amount_label.place(x=5, y=55)
# entry for amount
amount_entry = Entry(bottom_frame, width=25, font=('Poppins 15 bold'))
amount_entry.place(x=5, y=80)
# an empty label for displaying the result
result_label = Label(bottom_frame, text='', font=('Poppins 10 bold'))
result_label.place(x=5, y=115)
# an empty label for displaying the time
time_label = Label(bottom_frame, text='', font=('Poppins 10 bold'))
time_label.place(x=5, y=135)
# the clickable button for converting the currency
convert_button = Button(bottom_frame, text="CONVERT", bg=secondary, fg=white, font=('Poppins 10 bold'))
convert_button.place(x=5, y=165)

Ngay sau dòng mã này:

Dán các dòng mã này:

Hướng dẫn how do i convert currency to gui in python? - làm cách nào để chuyển đổi tiền tệ sang gui trong python?

Chúng tôi đã thêm một số màu sắc và tạo khung trên cùng chứa nhãn. Khung trên cùng phải được đặt bên trong cửa sổ chính mà chúng ta vừa tạo; Khung đang lấy ba thuộc tính khác,

$ source env/bin/activate
2,
$ source env/bin/activate
3 và
$ source env/bin/activate
4.

Nhận khóa API cho API trao đổi

Điền vào các hộp combo với tiền tệ

Hướng dẫn how do i convert currency to gui in python? - làm cách nào để chuyển đổi tiền tệ sang gui trong python?

Thực hiện chức năng chuyển đổi tiền tệGet Free Key button, and you will be prompted to create an account. After providing your credentials, it will take you to this window:

Hướng dẫn how do i convert currency to gui in python? - làm cách nào để chuyển đổi tiền tệ sang gui trong python?

Nắm bắt ngoại lệ

Sự kết luận

Điều đầu tiên trước tiên, chúng ta hãy thiết lập dự án. Chúng tôi sẽ bắt đầu bằng cách tạo môi trường ảo và sau đó cài đặt thư viện Python

$ .\env\Scripts\activate.bat
0.Docs Overview link:

Hướng dẫn how do i convert currency to gui in python? - làm cách nào để chuyển đổi tiền tệ sang gui trong python?

Tạo một thư mục có tên

$ .\env\Scripts\activate.bat
1 và
$ .\env\Scripts\activate.bat
2 vào thư mục:Here we will focus on two requests, standard and pair conversion:

Hướng dẫn how do i convert currency to gui in python? - làm cách nào để chuyển đổi tiền tệ sang gui trong python?

Yêu cầu tiêu chuẩn sẽ trả về toàn bộ danh sách các loại tiền tệ mà API cung cấp và nó có định dạng này:Standard request will return the whole list of currencies that the API provides, and it takes this format:

https://v6.exchangerate-api.com/v6/YOUR-API-KEY/latest/USD

Mặt khác, yêu cầu chuyển đổi cặp sẽ chuyển đổi hai loại tiền tệ đã cho và nó có định dạng này:Pair Conversion request will convert two given currencies, and it takes this format:

$ python -m venv env
0

Điền vào các hộp combo với tiền tệ

Chúng tôi đã tạo các hộp kết hợp, nhưng chúng không chứa giá trị, vì vậy hãy để chúng với các loại tiền tệ để người dùng sẽ chọn tiền tệ từ chúng. Đối với điều này, chúng tôi sẽ sử dụng yêu cầu tiêu chuẩn để cung cấp cho chúng tôi danh sách các loại tiền tệ. Bên dưới nhập khẩu của bạn, dán các dòng mã này:Standard request to give us the list of currencies. Below your imports, paste these lines of code:

$ python -m venv env
1

Đảm bảo thay thế

$ pip install requests
0 bằng khóa API thực sự của bạn.

Cuộn xuống nơi bạn đã xác định hai hộp kết hợp. Hộp kết hợp lấy một đối số gọi là

$ pip install requests
1 và kiểu dữ liệu của nó phải là một danh sách. Bây giờ làm cho hộp combo đầu tiên trông như thế này:

$ python -m venv env
2

Như bạn có thể nhận thấy, chúng tôi đã thêm đối số

$ pip install requests
1 vào hộp combo và nó đang lấy tất cả các khóa của từ điển & NBSP; Tiền tệ dưới dạng danh sách.currencies dictionary in the form of a list.

Kiểm tra điều này:

Hướng dẫn how do i convert currency to gui in python? - làm cách nào để chuyển đổi tiền tệ sang gui trong python?

Chúng ta cũng hãy điền vào hộp combo thứ hai:

$ python -m venv env
3

Result:

Hướng dẫn how do i convert currency to gui in python? - làm cách nào để chuyển đổi tiền tệ sang gui trong python?

Thực hiện chức năng chuyển đổi tiền tệ

Bây giờ tất cả các hộp kết hợp đang hoạt động, đã đến lúc chúng tôi thực hiện chức năng chuyển đổi tiền tệ. Tất cả điều này sẽ được thực hiện bên trong một chức năng. Hãy nhớ thực hiện chuyển đổi cặp; Chúng tôi sử dụng URL này:Pair Conversion; we use this URL:

$ python -m venv env
0

Tạo chức năng để chuyển đổi hai cặp tiền tệ ngay trên:

$ python -m venv env
5

Dán mã sau:

$ python -m venv env
6

Hàm

$ pip install requests
3 đang nhận tiền tệ từ hai hộp kết hợp và số tiền từ mục nhập bằng hàm
$ pip install requests
4. Các giá trị này và khóa API được chuyển đến yêu cầu API. Kết quả của yêu cầu được chuyển đổi thành JSON bằng hàm
$ pip install requests
5.

Hàm này sẽ được kích hoạt khi chúng tôi nhấp vào nút Chuyển đổi, vì vậy chúng tôi cần nói với nút để kích hoạt chức năng này. Trong Tkinter, các nút lấy đối số

$ pip install requests
6 với hàm như một giá trị, vì vậy chúng tôi sẽ làm cho nút trông như thế này:Convert button, so we need to tell the button to trigger this function. In Tkinter, buttons take a
$ pip install requests
6 argument with a function as a value, so we will make the button look like this:

$ python -m venv env
7

Bây giờ nút biết chức năng kích hoạt nào sau khi được nhấp, chúng ta hãy kiểm tra điều này, chạy chương trình và điền vào các hộp kết hợp với dữ liệu (từ EUR đến USD) và nhập số lượng 1000, nhấp vào nút và đảm bảo bạn nhận được đầu ra dưới đây:

Hướng dẫn how do i convert currency to gui in python? - làm cách nào để chuyển đổi tiền tệ sang gui trong python?

Nắm bắt ngoại lệ

Ứng dụng chạy thành công, nhưng nếu người dùng nhấp vào nút chuyển đổi mà không điền vào các trường cần thiết thì sao? Câu trả lời là hiển nhiên, ứng dụng sẽ gây ra lỗi, nhưng người dùng sẽ không thấy lỗi này vì nó sẽ xảy ra trong phần phụ trợ.Convert button without filling the required fields? The answer is obvious, the application will throw an error, but the user will not see this error since it will occur in the backend.

Vì vậy, tiếp theo, chúng tôi cần cải thiện trải nghiệm người dùng của ứng dụng; Chúng tôi sẽ làm cho người dùng có thể biết những lỗi đã xảy ra. Trong tệp, trong phần Nhập khẩu, dán mã này:

$ python -m venv env
8

Mã bên trong hàm

$ pip install requests
3 sẽ ở trong một khối thử/ngoại trừ. Mã được bọc bên trong câu lệnh
$ pip install requests
8 sẽ chạy nếu không có ngoại lệ. Mặt khác, mã bên trong câu lệnh
$ pip install requests
9 sẽ được thực thi:

$ python -m venv env
9

Chạy lại ứng dụng, nhưng lần này, không điền vào các trường cần thiết và nhấp vào nút Chuyển đổi. Chúng tôi sẽ nhận được đầu ra này:Convert button. We will get this output:

Hướng dẫn how do i convert currency to gui in python? - làm cách nào để chuyển đổi tiền tệ sang gui trong python?

Bây giờ ứng dụng có thể bắt tất cả các lỗi và hiển thị chúng cho người dùng.

Sự kết luận

Xin chúc mừng đã xây dựng thành công một ứng dụng GUI chuyển đổi tiền tệ. Bạn có thể nhận được mã hoàn chỉnh cho ứng dụng này ở đây.

Đó là nó cho hướng dẫn này! Chúng tôi hy vọng bạn thích bài viết này về cách xây dựng ứng dụng chuyển đổi tiền tệ bằng Python, Tkinter và trao đổi API. Chúng tôi hy vọng nó sẽ giúp bạn với các dự án Python trong tương lai của bạn.

Trong hướng dẫn này, chúng tôi đã xây dựng năm trình chuyển đổi tiền tệ khác nhau bằng cách sử dụng API trao đổi, API Fixer, Yahoo Finance, QU và X-RATE. Hãy chắc chắn kiểm tra nó và hợp nhất nó với GUI này.

Tìm hiểu thêm: Làm thế nào để tạo một máy tính với Tkinter trong Python. How to Make a Calculator with Tkinter in Python.

Happy Coding ♥

Xem đầy đủ mã


Cũng đọc


Hướng dẫn how do i convert currency to gui in python? - làm cách nào để chuyển đổi tiền tệ sang gui trong python?

Hướng dẫn how do i convert currency to gui in python? - làm cách nào để chuyển đổi tiền tệ sang gui trong python?

Hướng dẫn how do i convert currency to gui in python? - làm cách nào để chuyển đổi tiền tệ sang gui trong python?


Bảng bình luận