خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

با استفاده از پایتون یک برنامه کاری بسازید

یک برنامه To-Do یک پروژه کلاسیک برای هر برنامه نویس نوظهوری است. نحوه ساختن یکی با استفاده از Python و Tkinter را بیاموزید.

یک برنامه To-Do، که گاهی اوقات به عنوان مدیر وظیفه نامیده می شود، به کاربران امکان می دهد وظایف خود را به طور مؤثرتری سازماندهی و مدیریت کنند. می‌توانید فهرستی از کارهای روزانه یا هفتگی ایجاد کنید، ضرب‌الاجل‌ها و یادآوری‌ها را تعیین کنید، آنها را اولویت‌بندی کنید، پیشرفت آنها را پیگیری کنید و با دیگران به اشتراک بگذارید.

یک برنامه To-Do به شما امکان می دهد زمان را مدیریت کنید، بهره وری را افزایش دهید و استرس را کاهش دهید. بنابراین، چگونه می توانید یکی در پایتون بسازید؟

ماژول Tkinter

می توانید از Tkinter برای ساخت اپلیکیشن To-Do استفاده کنید. Tkinter به شما اجازه می دهد تا برنامه های دسکتاپ ایجاد کنید. ویجت‌های مختلفی مانند دکمه‌ها، برچسب‌ها و جعبه‌های متنی را ارائه می‌دهد که توسعه برنامه‌ها را آسان می‌کند. برخی از برنامه هایی که می توانید با استفاده از Tkinter توسعه دهید عبارتند از: برنامه Dictionary، Music Player، ابزار Weight Conversion و یک بازی Word Jumble.

برای نصب Tkinter، یک ترمینال را باز کنید و اجرا کنید:

pip install tkinter

چگونه با استفاده از پایتون یک برنامه کاری بسازیم

می توانید کد منبع برنامه To-Do را در این مخزن GitHub پیدا کنید.

ماژول Tkinter را وارد کرده و پنجره ریشه را مقداردهی اولیه کنید. با استفاده از تابع configure() رنگ پس زمینه را تنظیم کنید. همچنین عنوان و اندازه پنجره را تنظیم کنید.

from tkinter import *
from tkinter.font import Font

root = Tk()
root.configure(background="#A020f0")
root.title('To-Do List Application')
root.geometry("750x500")

یک سبک فونت و یک ویجت فریم را تعریف کنید. یک فریم به عنوان یک ظرف عمل می کند و وظیفه تنظیم موقعیت سایر ویجت ها را بر عهده دارد. پنجره والد را که می خواهید در آن قرار دهید تنظیم کنید و به آن یک لایه عمودی 10 بدهید.

ویجت لیست باکس را تعریف کنید. این کامپوننت لیستی از موارد را برای انتخاب کاربر نمایش می دهد. پنجره والد را که می خواهید در آن قرار دهید، سبک فونت، عرض، ارتفاع، رنگ پس زمینه، عرض حاشیه و رنگ فونت را تنظیم کنید. همچنین، ضخامت برجسته‌سازی فوکوس، رنگ پس‌زمینه‌ای که باید هنگام انتخاب داشته باشد و ظاهر خط فعال را به صورت None تنظیم کنید.

مطلب مرتبط:   با ارتقا PyCharm 2022.3.2 پتانسیل پایتون خود را آزاد کنید!

فهرست را با قرار دادن آن در سمت چپ سازماندهی کنید و به آن بگویید هر فضای اضافی را در هر دو جهت پر کند.

my_font = Font(family="Arial", size=22, weight="bold")
my_frame = Frame(root)
my_frame.pack(pady=10)

my_list = Listbox(my_frame, font=my_font, width=40, height=7, bg="#cf9fff", bd=0, fg="#5c4033", highlightthickness=0, selectbackground="#ff0000", activestyle="none")
my_list.pack(side=LEFT, fill=BOTH)

نوار پیمایشی را تعریف کنید که برنامه در سمت راست کادر نمایش داده شود و هر فضای اضافی را در هر دو جهت پر کند. از متد config() برای اتصال نوار اسکرول به ویجت لیست باکس که قبلا تعریف کرده بودید استفاده کنید. با تنظیم مقدار yscrollcommand به عنوان my_scrollbar.set، موقعیت فعلی نوار اسکرول در تعامل کاربر را دریافت می کند.

با تنظیم پارامتر فرمان به عنوان my_list.yview، حرکت نوار اسکرول به توابع بالا و پایین مرتبط می شود. بنابراین، هنگامی که کاربر با نوار اسکرول تعامل می‌کند، نماهای جعبه فهرست بر این اساس تغییر می‌کنند.

my_scrollbar = Scrollbar(my_frame)
my_scrollbar.pack(side=RIGHT, fill=BOTH)
my_list.config(yscrollcommand=my_scrollbar.set)
my_scrollbar.config(command=my_list.yview)

ویجت ورودی را برای پذیرش وظایف به عنوان ورودی از کاربر تعریف کنید. پنجره والد را که می خواهید در آن قرار دهید، سبک فونت، عرض و رنگ پس زمینه را تنظیم کنید. با افزودن یک لایه 20 در جهت عمودی آن را سازماندهی کنید.

یک قاب برای سازماندهی دکمه های خود تعریف کنید. آنها را در پنجره root قرار دهید و به آن رنگ پس زمینه بدهید. قاب را با یک لایه 20 در جهت عمودی نیز سازماندهی کنید.

my_entry = Entry(root, font=("Arial", 22), width=26, bg='#cf9fff')
my_entry.pack(pady=20)

button_frame = Frame(root, bg='#a020f0')
button_frame.pack(pady=20)

یک تابع تعریف کنید، delete_item(). پارامتر ANCHOR را به تابع delete منتقل کنید تا مورد انتخاب شده از لیست حذف شود.

def delete_item():
    my_list.delete(ANCHOR)

یک تابع تعریف کنید، add_item(). از تابع get() برای بازیابی مقدار ورودی توسط کاربر در انتهای لیست استفاده کنید. اگر لیست خالی باشد، عنصر اضافه شده اولین ورودی در لیست خواهد بود. پس از افزودن عنصر به لیست، باید آن را از ویجت ورودی حذف کنید. از تابع حذف برای حذف متن درج شده از ابتدا تا انتهای آن استفاده کنید.

def add_item():
    my_list.insert(END, my_entry.get())
    my_entry.delete(0, END)

یک تابع تعریف کنید، cross_off_item(). از متد item_config() برای تغییر رنگ فونت کار آیتم انتخاب شده در لیست به رنگ کم رنگ استفاده کنید، شما مورد را خط زده اید. انتخابی را که اکنون انتخاب کرده اید از ابتدا تا انتهای طول آن پاک کنید.

def cross_off_item():
    my_list.itemconfig(my_list.curselection(), fg="#dedede")
    my_list.selection_clear(0, END)

یک تابع تعریف کنید، uncross_item(). مشابه عملکرد بالا، رنگ کار انتخاب شده را به اصلی تغییر دهید و انتخاب را کاملاً پاک کنید.

def uncross_item():
    my_list.itemconfig(my_list.curselection(), fg="#5c4033")
    my_list.selection_clear(0, END)

یک تابع تعریف کنید، delete_crossed(). یک متغیر شمارنده تعریف کنید و آنقدر تکرار کنید که از اندازه لیست کمتر شود. اگر رنگ قلم مورد کمرنگ است، آن مورد را از لیست حذف کنید. در غیر این صورت، تکرار را با افزایش متغیر شمارنده ادامه دهید.

def delete_crossed():
    count = 0

    while count < my_list.size():
        if my_list.itemcget(count, "fg") == "#dedede":
            my_list.delete(my_list.index(count))
        else:
            count += 1

پنج دکمه را تعریف کنید: حذف، افزودن، ضربدری کردن، حذف کردن، و حذف خط خورده. دکمه ها را در قاب دکمه ای که قبلا ایجاد کرده اید قرار دهید. متنی را که هر دکمه باید نمایش دهد، عملکردی که با کلیک روی آن باید اجرا شود، رنگ پس‌زمینه و سبک قلم آن را تنظیم کنید.

delete_button = Button(button_frame, text="Delete Item", command=delete_item, bg="#e7305b", font=("arial", 12, "bold"))
add_button = Button(button_frame, text="Add Item", command=add_item, bg="#e7305b", font=("arial", 12, "bold"))
cross_off_button = Button(button_frame, text="Cross Off Item", command=cross_off_item, bg="#e7305b", font=("arial", 12, "bold"))
uncross_button = Button(button_frame, text="Uncross Item", command=uncross_item, bg="#e7305b", font=("arial", 12, "bold"))
delete_crossed_button = Button(button_frame, text="Delete Crossed", command=delete_crossed, bg="#e7305b", font=("arial",12, "bold"))

دکمه ها را با استفاده از مدیر شبکه در یک ردیف و پنج ستون سازماندهی کنید. یک بالشتک 0 را در جهت افقی تنظیم کنید تا مقداری فاصله بین دکمه ها اختصاص دهید.

delete_button.grid(row=0, column=0)
add_button.grid(row=0, column=1, padx=20)
cross_off_button.grid(row=0, column=2)
uncross_button.grid(row=0, column=3, padx=20)
delete_crossed_button.grid(row=0, column=4)

تابع mainloop() به پایتون می گوید که حلقه رویداد Tkinter را اجرا کند و تا زمانی که پنجره را ببندید به رویدادها گوش دهد.

root.mainloop()

همه کدها را کنار هم قرار دهید و با استفاده از این برنامه کارآمد فهرست کارها، هیچ کاری را از دست ندهید.

مطلب مرتبط:   3 ابزار برای افزایش بهره وری کدنویسی

خروجی برنامه To-Do با استفاده از پایتون

با اجرای برنامه بالا، پنجره ای ظاهر می شود که در آن می توانید کارهایی را که می خواهید انجام دهید وارد کنید. با اضافه کردن کار و فشار دادن دکمه افزودن آیتم، کار به صفحه اضافه می شود.

برای انجام برنامه افزودن نسخه ی نمایشی مورد

با انتخاب هر یک از کارها با ماوس/صفحه کلید و کلیک بر روی دکمه Cross Off Item، رنگ انتخاب شده تغییر می کند و کم رنگ می شود.

برای انجام برنامه نسخه ی نمایشی مورد را قطع کنید

با انتخاب مورد ضربدری و کلیک بر روی دکمه Uncross Item، برنامه کار را به رنگ اصلی خود برجسته می کند.

برای انجام نسخه ی نمایشی مورد غیر متقاطع برنامه

با کلیک بر روی دکمه Delete Crossed، برنامه وظیفه خط خورده را حذف می کند. با انتخاب هر مورد و کلیک بر روی دکمه Delete Item، مورد انتخاب شده حذف می شود.

برای انجام برنامه، نسخه ی نمایشی مورد را حذف کنید

برنامه هایی که می توانید با استفاده از پایتون بسازید تا بهره وری خود را افزایش دهید

می‌توانید برنامه‌هایی مانند RescueTime بسازید که میزان زمانی را که کاربر برای کدام برنامه صرف می‌کند، ردیابی می‌کند. چنین برنامه‌هایی می‌توانند به شما کمک کنند تا بفهمید کدام وب‌سایت‌ها بیشتر حواس‌تان را پرت می‌کنند. جدای از این، می‌توانید از Trello الهام بگیرید تا تابلوهایی با فهرست‌های کار، ضرب‌الاجل‌ها و یادآوری‌ها ایجاد کنید.

یک برنامه موسیقی که یک لیست پخش ویژه طراحی شده را پخش می کند می تواند به کاربران کمک کند تا روی کار تمرکز کنند. شما حتی می توانید برنامه های رابط کاربری گرافیکی را برای انجام کارهای تکراری مانند فرآیندهای ورود به سیستم و اسکریپت ها برای تعامل با دسکتاپ خودکار کنید.

مطلب مرتبط:   نحوه ایجاد یک فایل JAR