Hướng dẫn python todo app - python tất cả ứng dụng

Trong hướng dẫn Python Tkinter này, chúng ta hãy thảo luận về danh sách Tkinter Python Tkinter. Chúng ta sẽ thấy, từng bước làm thế nào để xây dựng danh sách việc cần làm bằng Python Tkinter.Python Tkinter ToDo List. We will see, step by step how to build a todo list using Python Tkinter.

  • Giới thiệu về danh sách Tkinter TODO trong Python Tkinter
  • Các tính năng của danh sách TODO trong Python Tkinter.
  • Mã giải thích cho danh sách todo trong Python Tkinter.
  • Mã nguồn danh sách việc cần làm với lời giải thích bằng Python Tkinter
  • Danh sách TODO của Python là một phần mềm chứa thông tin về các nhiệm vụ hoặc sự kiện sắp tới.
  • Người dùng cần một phần mềm tiện dụng có thể được sử dụng nhanh chóng để ghi chú nhanh. Và đó là nơi sử dụng danh sách việc cần làm.
  • Trong hướng dẫn này, chúng tôi sẽ tạo một ứng dụng danh sách việc cần làm đơn giản bằng cách sử dụng Python Tkinter sẽ giúp người dùng tổ chức các ghi chú, tin nhắn hoặc tác vụ ngắn của họ.create a simple to-do list application using Python Tkinter that will help users to organize their short notes, messages, or tasks.
  • Nếu chúng ta nói về ứng dụng Danh sách TODO thông thường, thì chúng ta sẽ nhận thấy một vùng văn bản trong đó người dùng có thể nhập tin nhắn, một nút giữ

Các tính năng của danh sách việc làm trong Python Tkinter

Trong phần này, chúng tôi sẽ thảo luận về các tính năng mà chúng tôi sẽ thêm vào ứng dụng việc cần làm của chúng tôi.

  1. ListBox: Chúng tôi sẽ sử dụng Listbox Python Tkinter để hiển thị nhiều tác vụ được xếp chồng lên nhau. Và các nhiệm vụ có thể được chọn khi nhấp vào nó.: We will be using Python Tkinter Listbox to show multiple tasks stacked one after another. And tasks can be selected when clicked on it.
  2. ScrollBars: ScrollBars sẽ giúp chúng tôi xếp nhiều dữ liệu mà không phải lo lắng về không gian trên cửa sổ. Các tác vụ có thể được truy cập bằng cách cuộn hộp danh sách. Scrollbars will help us to stack plenty of data without worrying about the space on the window. The Tasks can be accessed by scrolling the Listbox.
  3. Khung: Khung sẽ được sử dụng để đặt các tiện ích như ListBox và ScrollBars bên trong nó. Điều này sẽ cho chúng tôi quyền kiểm soát để căn chỉnh ListBox với thanh bên trái và thanh cuộn sang phải để cả hai đều xuất hiện song song & hoàn hảo. Frame will be used to put widgets like Listbox and Scrollbars inside it. This will give us control to align Listbox to the left & scrollbar to the right so that they both appear parallel & perfect.
  4. Các nút: Chúng tôi sẽ thêm hai tiện ích nút trên cửa sổ. Một là thêm nhiều tác vụ trong ListBox và một là xóa các tác vụ khỏi ListBox. We will add two button widgets on the window. One is to add more tasks in Listbox and the other is to delete tasks from Listbox.
  5. EntryBox: Người dùng sẽ nhập tác vụ vào hộp nhập sẽ được hiển thị hơn nữa trong ListBox. box: Users will type the task in the entry box which further will be displayed in the Listbox.
  6. MessageBox: Hộp thông báo Python Tkinter được sử dụng để hiển thị thông báo lỗi khi người dùng nhấp vào nút Thêm với hộp nhập trống. The Python Tkinter message box is used to display an error message when the user clicks on the add button with an empty entry box.

Mã giải thích cho danh sách việc làm trong Python Tkinter

Trong phần này, chúng tôi sẽ hiểu mã nguồn cho danh sách việc cần làm trong Python Tkinter. Toàn bộ mã được giải thích trong một chuỗi sáng tạo.ToDo list in Python Tkinter. The entire code is explained in a sequence of creation.

Bước 1: Nhập các mô -đun : Import Modules

Trước khi chúng tôi bắt đầu sử dụng Tkinter, chúng tôi cần gọi Tkinter để sử dụng. Vì vậy, chúng tôi nhập mô -đun. Ở đây * có nghĩa là tất cả mọi thứ. Vì vậy, chúng tôi đang nhập mọi thứ từ tkinter sau đó trong dòng thứ hai, chúng tôi đã nhập hộp tin nhắn từ tkinter

from tkinter import *
from tkinter import messagebox

Bước 2: Tạo và định cấu hình cửa sổ

Sau khi nhập mô -đun, chúng tôi sẽ tạo một cửa sổ để chúng tôi có thể đặt các tiện ích lên nó.

  • WS được sử dụng để khởi tạo Tk (). Từ giờ WS sẽ được gọi là cửa sổ cha mẹ. Tất cả các vật dụng khác sẽ được đặt trên nó.is used to initialize Tk(). From now ws will be called as the parent window. All other widgets will be placed on it.
  • WS.Geometry (‘chiều rộng x chiều cao + vị trí X + vị trí y) Tất cả các giá trị được cung cấp phải là số nguyên.
    All the values provided must be integers.
    • Chiều rộng đề cập đến không gian ngang của cửa sổ.
    • Chiều cao đề cập đến không gian thẳng đứng của cửa sổ.
    • Vị trí X đề cập đến vị trí của cửa sổ trên màn hình trên trục x.
    • Định vị y đề cập đến vị trí của cửa sổ trên màn hình trên trục y.
  • Tiêu đề sẽ thêm một tiêu đề vào cửa sổ. Trong trường hợp của chúng tôi, chúng tôi đã cung cấp tên trang web của chúng tôi như một tiêu đề. Bạn có thể tìm thấy tiêu đề ở trên cùng bên trái của cửa sổ bên cạnh lông vũ.title will add a title to the window. In our case, we have provided our website name as a title. You can find the title on the top left of the window next to feather.
  • Cấu hình được sử dụng để cung cấp màu nền cho cửa sổ.is used to provide background color to the window.
  • Resizable chấp nhận các giá trị boolean. Vì các giá trị boolean được cung cấp sai cho cả chiều cao và chiều rộng có nghĩa là cửa sổ có thể được thay đổi kích thước. Để biết thêm về Resizable, vui lòng đọc blog của chúng tôi về kích thước Windows Python Tkinter. accepts boolean values. Since the boolean values are provided false for both height and width that means the window can’t be resized. To know more about resizable please read our blog on python Tkinter windows size.
  • ws.mainloop () giữ màn hình để chúng ta có thể nhìn thấy cửa sổ. Đó là một vòng lặp vô hạn. Màn hình bật lên và sau đó biến mất nhưng với vòng lặp vô hạn này, quá trình xuất hiện và biến mất này tiếp tục xảy ra rất nhanh. Và chúng tôi tiếp tục nhìn thấy cửa sổ cập nhật. holds the screen so that we can see the window. It is an infinite loop. screen pops up and then disappears but with this infinite loop this process of appearing & disappearing keeps on happening very fast. And we keep on seeing the updated window.
ws = Tk()
ws.geometry('500x450+500+200')
ws.title('PythonGuides')
ws.config(bg='#223441')
ws.resizable(width=False, height=False)

....
....

ws.mainloop()

Bước 3: Tạo khung

Trong phần này, chúng tôi sẽ hiểu lý do tại sao chúng tôi đã sử dụng các khung làm tiện ích đầu tiên trong mã của chúng tôi.

  • Các tiện ích khung được sử dụng để giữ các tiện ích khác.widgets are used to hold other widgets.
  • Họ giúp giữ và duy trì giao diện người dùng (UI) & Trải nghiệm người dùng (UX) Clean & tổ chức.
  • Di chuyển về phía trước, chúng tôi sẽ đặt ListBox, ScrollBars & Nút bên trong khung.
  • Vì vậy, theo cách này, khung sẽ hoạt động như một cửa sổ bổ sung trên cửa sổ mẹ.
  • Một lợi ích khác của việc đặt một khung bây giờ là chúng tôi sẽ thêm Scrollbars vào khung và điều đó giải quyết mục đích của chúng tôi.
  • Scrollbars không dễ đặt nhưng sử dụng khung chúng ta có thể làm điều đó ngay lập tức.
  • Pady = 10 có nghĩa là chúng tôi đã thêm phần đệm xung quanh khung từ bên ngoài.means we have added extra padding around the frame from outside.
frame = Frame(ws)
frame.pack(pady=10)

Bước 4: Thêm ListBox

Trong phần này, chúng tôi sẽ tìm hiểu lý do tại sao và cách chúng tôi đã sử dụng ListBox trên cửa sổ.

  • LB là tên biến để lưu trữ ListBox. is the variable name for storing Listbox.
  • ListBox được đặt trên cửa sổ khung.
  • Chiều rộng: Không gian ngang được cung cấp là 25.Horizontal space provided is 25.
  • Chiều cao: 8 hàng ở vị trí thẳng đứng được cung cấp. 8 rows in the vertical position are provided.
  • Phông chữ: Thời báo Phông chữ La Mã mới được cung cấp với 14 kích cỡ. Times New Roman font is provided with 14 sizes.
  • BD = 0 đề cập đến đường viền bằng không refers to the border is zero
  • FG là màu tiền cảnh hoặc màu văn bản.is the foreground color or the text color.
  • Điểm nổi bật = 0 Mỗi khi tiêu điểm được chuyển sang bất kỳ mục nào thì nó không được hiển thị bất kỳ chuyển động nào là giá trị 0 giá trị được cung cấp. Theo mặc định, nó có một số giá trị. every time the focus is moved to any item then it should not show any movement that is value 0 value is provided. by default it has some value.
  • SelectBackground Nó quyết định màu của mục tập trung trong ListBox.it decides the color of the focused item in the Listbox.
  • ActiveStyle = Không có ai loại bỏ lớp gạch chân xuất hiện khi mục được chọn hoặc tập trung. removes the underline that appears when the item is selected or focused.
  • Trình quản lý hình học đã sử dụng là Gói () used is pack()
  • side = leftthis sẽ giữ hộp danh sách ở phía bên trái của khung. Chúng tôi đã làm điều này trên mục đích để chúng tôi có thể gán đúng vị trí cho cuộn.this will keep the Listbox to the left side of the frame. We did this on purpose so that we can assign the right position to scrollbars.
  • fill = cả hai điều này sẽ lấp đầy khoảng trống theo cả hai hướng là x và y this will fill the blank space in both the directions that are x and y
lb = Listbox(
    frame,
    width=25,
    height=8,
    font=('Times', 18),
    bd=0,
    fg='#464646',
    highlightthickness=0,
    selectbackground='#a6a6a6',
    activestyle="none",
    
)
lb.pack(side=LEFT, fill=BOTH)

Bước 5: Thêm dữ liệu giả

  • Chúng tôi đã thêm dữ liệu giả để ứng dụng đã sẵn sàng để xem. Bạn thêm hoặc xóa bất kỳ dữ liệu nào bạn muốn.
  • Dữ liệu ở định dạng danh sách và được lưu trữ trong một biến có tên Task_List.task_list.
  • Đối với vòng lặp được sử dụng để chèn dữ liệu vào hộp danh sách. is used to insert data in the Listbox.
  • Mỗi khi vòng lặp chạy, nó sẽ thêm một mục vào ListBox và quá trình này tiếp tục đi cho đến khi tất cả các mục trong Task_List được chèn.task_list are inserted.
  • lb.insert (kết thúc, mục) Lệnh này xếp các mục trong ListBox.this command stacks the items in Listbox.
    • LB là biến được sử dụng cho ListBox is the variable used for Listbox
    • Chèn là một phương thức tích hợp của ListBox để chèn dữ liệu. is a built-in method of Listbox to insert data.
    • Kết thúc biểu thị rằng một mặt hàng mới sẽ được thêm vào cuối cùng. Nếu kết thúc được thay thế bằng 0 thì dữ liệu mới sẽ được thêm vào trên cùng. signifies that a new item will be added in the end. If END is replaced with 0 then new data will be added at the top.
    • Mục là mục danh sách từ Task_list is the list item from task_list
task_list = [
    'Eat apple',
    'drink water',
    'go gym',
    'write software',
    'write documentation',
    'take a nap',
    'Learn something',
    'paint canvas'
    ]


for item in task_list:
    lb.insert(END, item)

Bước 6: Thêm Scrollbars

Trong phần này, chúng tôi sẽ hiểu tại sao và làm thế nào các cuộn được thêm vào cửa sổ.

  • ScrollBars được sử dụng để người dùng có thể cuộn thông tin được đặt ở kích thước giới hạn trên cửa sổ. are used so that users can scroll the information that is placed in a limited size on the window.
  • Trong các cuộn này được đặt trên một khung và biến được gán là SB
  • Phương thức hình học được sử dụng là một gói () để mọi thứ vẫn động và theo một chuỗi.geometry method used is a pack() so that everything remains dynamic and in a sequence.
  • Bên = Phải, chúng tôi đã đặt Scrollbars ở phía bên phải của khung.we have placed scrollbars on the right side of the frame.
  • Trong mã trên, chúng tôi đã cung cấp Side = Left to ListBox. Vì vậy, theo cách này, cả hai tiện ích được gán song song.side=LEFT to Listbox. So in this way, both the widgets are assigned paralleled.
  • fill = cả hai điều này sẽ lấp đầy khoảng trống theo cả hai hướng là x và y this will fill the blank space in both the directions that are x and y
  • Bước 5: Thêm dữ liệu giả here we have assigned a purpose to the scrollbar. In other words, we have bind Listbox with scrollbar
  • Chúng tôi đã thêm dữ liệu giả để ứng dụng đã sẵn sàng để xem. Bạn thêm hoặc xóa bất kỳ dữ liệu nào bạn muốn., here yview means scrollbar will go in the vertical direction. If it would have been xview then the scrollbar would have worked in the horizontal direction.
sb = Scrollbar(frame)
sb.pack(side=RIGHT, fill=BOTH)

lb.config(yscrollcommand=sb.set)
sb.config(command=lb.yview)

Dữ liệu ở định dạng danh sách và được lưu trữ trong một biến có tên Task_List.

  • Đối với vòng lặp được sử dụng để chèn dữ liệu vào hộp danh sách. box is used to take input from the user.
  • Mỗi khi vòng lặp chạy, nó sẽ thêm một mục vào ListBox và quá trình này tiếp tục đi cho đến khi tất cả các mục trong Task_List được chèn.: entry box is placed on the parent window
  • lb.insert (kết thúc, mục) Lệnh này xếp các mục trong ListBox.provides font name i.e ‘Times New Roman’ and size is 14
  • LB là biến được sử dụng cho ListBoxused is pack with padding of 20 outside the widget
my_entry = Entry(
    ws,
    font=('times', 24)
    )

my_entry.pack(pady=20)

Chèn là một phương thức tích hợp của ListBox để chèn dữ liệu.

Kết thúc biểu thị rằng một mặt hàng mới sẽ được thêm vào cuối cùng. Nếu kết thúc được thay thế bằng 0 thì dữ liệu mới sẽ được thêm vào trên cùng.

button_frame = Frame(ws)
button_frame.pack(pady=20)

Mục là mục danh sách từ Task_list

  • Bước 6: Thêm Scrollbars
  • Trong phần này, chúng tôi sẽ hiểu tại sao và làm thế nào các cuộn được thêm vào cửa sổ.addTask & deleteTask). Both of them have same features and look accept the background color and command.
  • ScrollBars được sử dụng để người dùng có thể cuộn thông tin được đặt ở kích thước giới hạn trên cửa sổ.: When button is clicked the the function mentioned in command is called. In this case if user clicks on addTask_btn button then newTask function is called & when user clicks on the delTask_btn Button then delTask function is called.
addTask_btn = Button(
    button_frame,
    text='Add Task',
    font=('times 14'),
    bg='#c5f776',
    padx=20,
    pady=10,
    command=newTask
)
addTask_btn.pack(fill=BOTH, expand=True, side=LEFT)

delTask_btn = Button(
    button_frame,
    text='Delete Task',
    font=('times 14'),
    bg='#ff8b61',
    padx=20,
    pady=10,
    command=deleteTask
)
delTask_btn.pack(fill=BOTH, expand=True, side=LEFT)

Trong các cuộn này được đặt trên một khung và biến được gán là SB

  • Phương thức hình học được sử dụng là một gói () để mọi thứ vẫn động và theo một chuỗi.
  • Bên = Phải, chúng tôi đã đặt Scrollbars ở phía bên phải của khung.
  • Trong mã trên, chúng tôi đã cung cấp Side = Left to ListBox. Vì vậy, theo cách này, cả hai tiện ích được gán song song.
  • lb.config (yscrollCommand = sb.set) Ở đây chúng tôi đã gán một mục đích cho thanh cuộn. Nói cách khác, chúng tôi có BIND LISTBOX với thanh cuộn
def newTask():
    task = my_entry.get()
    if task != "":
        lb.insert(END, task)
        my_entry.delete(0, "end")
    else:
        messagebox.showwarning("warning", "Please enter some task.")

sb.config (lệnh = lb.yview), ở đây yview có nghĩa là thanh cuộn sẽ đi theo hướng dọc. Nếu đó là XVIEW thì thanh cuộn sẽ hoạt động theo hướng ngang.

  • Bước 7: Thêm hộp nhập cảnhANCHOR refers to the selected item in the Listbox.
  • EntryBox được sử dụng để lấy đầu vào từ người dùng. variable assigned to Listbox
  • WS: Hộp nhập được đặt trên cửa sổ cha mẹ
  • Phông chữ: Cung cấp tên phông chữ I.E lần mới và kích thước là 14deleteTask button. Immediately the item will disappear from the Listbox.
ws = Tk()
ws.geometry('500x450+500+200')
ws.title('PythonGuides')
ws.config(bg='#223441')
ws.resizable(width=False, height=False)

....
....

ws.mainloop()
0

Trình quản lý hình học được sử dụng là gói với đệm 20 bên ngoài tiện ích

Bước: 8 Thêm khung khác cho các nút

ws = Tk()
ws.geometry('500x450+500+200')
ws.title('PythonGuides')
ws.config(bg='#223441')
ws.resizable(width=False, height=False)

....
....

ws.mainloop()
1

Output:

Khung được sử dụng để tổ chức các vật dụng. Chúng tôi đã sử dụng khung riêng cho các nút.

Hướng dẫn python todo app - python tất cả ứng dụng
Bước 9: Thêm nút

Các nút được đặt để kích hoạt một số hành động khi nhấn.

Ở đây chúng tôi đã tạo hai nút (AddTask & Deletetask). Cả hai đều có các tính năng giống nhau và trông chấp nhận màu nền và lệnh.

  • Nhãn Python Tkinter - Cách sử dụng
  • Mục nhập Python Tkinter - Cách sử dụng
  • Python Tkinter Radiobutton - Cách sử dụng
  • Kích thước cửa sổ python tkinter
  • Hướng dẫn canvas python tkinter
  • Đồng hồ bấm giờ Python Tkinter
  • Kiểm tra xem một danh sách có tồn tại trong một danh sách không
  • Cách gắn một hình ảnh trong Rùa Python
  • Hàm Python Tkinter Map ()
  • Python tkinter kéo và thả

Trong hướng dẫn này, chúng tôi đã học cách tạo một ứng dụng Danh sách TODO đơn giản bằng cách sử dụng Python Tkinter.create a simple todo list application using Python tkinter.

  • Giới thiệu về danh sách Tkinter TODO trong Python Tkinter
  • Các tính năng của danh sách TODO trong Python Tkinter.
  • Mã giải thích cho danh sách todo trong Python Tkinter.
  • Mã nguồn danh sách việc cần làm với lời giải thích bằng Python Tkinter

Hướng dẫn python todo app - python tất cả ứng dụng

Python là một trong những ngôn ngữ phổ biến nhất ở Hoa Kỳ. Tôi đã làm việc với Python trong một thời gian dài và tôi có chuyên môn trong việc làm việc với các thư viện khác nhau trên tkinter, pandas, numpy, rùa, django, matplotlib, tenorflow, scipy, scikit-learn, v.v. Ở các quốc gia như Hoa Kỳ, Canada, Vương quốc Anh, Úc, New Zealand, v.v. Hãy xem hồ sơ của tôi.