برای ساخت یک ساعت آنالوگ زیبا در پایتون، میتوان از کتابخانه Tkinter برای رابط گرافیکی و math برای محاسبات دایرهای استفاده کرد.
در اینجا کدی برای یک ساعت آنالوگ ارائه میشود:
---
### کد ساعت آنالوگ:
python
import tkinter as tk
import time
import math
class AnalogClock(tk.Tk):
def __init__(self):
super().__init__()
self.title("Analog Clock")
self.geometry("400x400")
self.resizable(False, False)
self.canvas = tk.Canvas(self, width=400, height=400, bg="white")
self.canvas.pack()
self.center_x = 200
self.center_y = 200
self.clock_radius = 150
self.draw_clock_face()
self.update_clock()
def draw_clock_face(self):
# Draw the clock circle
self.canvas.create_oval(
self.center_x - self.clock_radius,
self.center_y - self.clock_radius,
self.center_x + self.clock_radius,
self.center_y + self.clock_radius,
fill="lightblue", outline="black", width=3
)
# Draw hour markers
for hour in range(1, 13):
angle = math.radians(hour * 30 - 90)
x1 = self.center_x + math.cos(angle) * (self.clock_radius - 20)
y1 = self.center_y + math.sin(angle) * (self.clock_radius - 20)
x2 = self.center_x + math.cos(angle) * (self.clock_radius - 10)
y2 = self.center_y + math.sin(angle) * (self.clock_radius - 10)
self.canvas.create_line(x1, y1, x2, y2, width=2)
def update_clock(self):
self.canvas.delete("hands")
now = time.localtime()
hour = now.tm_hour % 12
minute = now.tm_min
second = now.tm_sec
# Calculate angles for hour, minute, and second hands
hour_angle = math.radians((hour + minute / 60) * 30 - 90)
minute_angle = math.radians((minute + second / 60) * 6 - 90)
second_angle = math.radians(second * 6 - 90)
# Hour hand
self.draw_hand(hour_angle, self.clock_radius * 0.5, width=6, color="black")
# Minute hand
self.draw_hand(minute_angle, self.clock_radius * 0.7, width=4, color="blue")
# Second hand
self.draw_hand(second_angle, self.clock_radius * 0.9, width=2, color="red")
# Redraw every 100ms
self.after(1000, self.update_clock)
def draw_hand(self, angle, length, width, color):
x = self.center_x + math.cos(angle) * length
y = self.center_y + math.sin(angle) * length
self.canvas.create_line(self.center_x, self.center_y, x, y, width=width, fill=color, tags="hands")
if __name__ == "__main__":
clock = AnalogClock()
clock.mainloop()
---
### توضیحات کد:
1. رسم صفحه ساعت:
دایره ساعت و نشانگرهای ساعت (1 تا 12) روی دایره رسم شدهاند.
2. محاسبه زاویهها:
زاویه هر عقربه با استفاده از موقعیت فعلی ساعت، دقیقه و ثانیه محاسبه میشود:
- عقربه ساعت:
(hour + minute / 60) * 30- عقربه دقیقه:
(minute + second / 60) * 6- عقربه ثانیه:
second * 63. بهروزرسانی هر ثانیه: از تابع self.after برای بهروزرسانی عقربهها هر 1000 میلیثانیه استفاده شده است. --- ### نتیجه: این کد یک ساعت آنالوگ زیبا را در یک پنجره ایجاد میکند که بهطور خودکار زمان فعلی را نمایش میدهد و عقربههای آن حرکت میکنند.
فعلا قابلیت پخش رسانه در مرورگر فراهم نیست
مشاهده در پیام رسان ایتا
🔻 طراحی جدول مسابقات ورزشی و برنامه بازی های ورزشی توسط هوش مصنوعی
https://www.aparat.com/v/xaw82q7
🔻 تهیه کننده : احمدی
🔻 پژوهشسرای مقیدنیا
@moallem1404
هدایت شده از 🇮🇷🇮🇶🇱🇧خبر کــوتـاه🇾🇪🇵🇸🇮🇷
از پیرمرد کتاب فروش پرسیدند چرا وقتی نیستی در کتاب فروشی را نمیبندی؟
گفت: آنها که کتاب نمیخوانند کتاب نمیدزدند
و آنها که کتاب میخوانند دزدی نمیکنند.
#زیبا👌🏻
@khabarekotahh
فعلا قابلیت پخش رسانه در مرورگر فراهم نیست
مشاهده در پیام رسان ایتا
آموزش تجوید استاد موسوی بلده درس ( 2 ) #حرف_حاء_
💢حرف حاء حرفی حلقی و با گرفتی همراه است.
فعلا قابلیت پخش رسانه در مرورگر فراهم نیست
مشاهده در پیام رسان ایتا
آموزش تجوید استاد موسوی بلده درس ( 3 ) #حرف_ذال_
هدایت شده از KHAMENEI.IR
11.63M حجم رسانه بالاست
مشاهده در ایتا
📣 نماهنگ جدید KHAMENEI.IR بهمناسبت روز پژوهش
📹 بهبود زندگی با علم نافع
✏️ رهبر انقلاب: یقیناً یکی از پایههای مهمّ هر تمدّنی علم است -علم نافع- و ما که تکرار میکنیم «تمدّن نوین اسلامی»، قطعاً یکی از پایههایش پیشرفت علمی است.
✏️ این جوان بتواند از این دانش، برای بهبود زندگی خود و جامعهاش و پیرامونیانِ خود استفاده کند؛ #علم_نافع این است.
💻 Farsi.Khamenei.ir
هدایت شده از اخبار مشهد
9.84M حجم رسانه بالاست
مشاهده در ایتا
🔸حال و هوای دوست داشتنی کوهسنگی
@AkhbarMashhad
هدایت شده از اخبار آموزش و پرورش
نکات_241216_160024.pdf
337K
✅ اینفوگرافیك نكات مهم ثبت نام آزمون سراسری سال 1404( نوبت اول )
🆔 @a_p_news
هدایت شده از نجوم
🔰افزایش خطر انفجارهای عظیم خورشیدی برای زمین
💢پژوهشگران هشدار میدهند که زمین ممکن است به زودی با یک سونامی خورشیدی مواجه شود که قدرتی فراتر از میلیاردها بمب اتمی دارد. این سونامی، که از یک سوپر فلر خورشیدی ناشی میشود، میتواند خطرات جدی برای سیستمهای ماهوارهای، شبکههای برق و حتی ارتباطات جهانی به همراه داشته باشد.
💢مطالعات جدید نشان میدهند که وقوع سوپر فلرها که به شدت قادر به تخریب سیستمهای حیاتی هستند، بسیار رایجتر از آن چیزی است که پیشتر تصور میشد. محققان به این نتیجه رسیدهاند که این نوع انفجارهای خورشیدی هر 100 سال یکبار رخ میدهند، نه هر 1000 یا 10,000 سال، همانطور که پیش از این گمان میشد.
💢یک سوپر فلر خورشیدی میتواند انرژیای معادل ۱ اکتلیون ژول (یک عدد با 27 صفر) تولید کند. این میزان انرژی بیش از 100 برابر قدرت حادثه معروف کارینگتون در سال 1859 است، که باعث تخریب بخشهایی از شبکه تلگراف و حتی آتشسوزی صفحات کاغذ شد. اگر چنین حادثهای در عصر حاضر اتفاق بیفتد، عواقب آن میتواند حتی خطرناکتر باشد، چرا که وابستگی بشر به شبکههای ارتباطی ماهوارهای بهطور قابلتوجهی افزایش یافته است. در این شرایط، ماهوارهها میتوانند از مدار خود خارج شده و شبکههای برق جهانی دچار اختلال جدی شوند.
🌔 @nojoom_et