ايران ويج

نسخه‌ی کامل: تبدیل دلفی به پایتون
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام دوستان کسی می تونه کمکم کنه چطور این کد دلفی رو به پایتون تبدیل کنم

کد:
var
   hWind: HWND;

begin
   Label1.Caption := 'function: AnimateWindow';
   Label1.Font.Size := 15;

   hWind := Form1.Handle;
   If (AnimateWindow(hWind, 1500, AW_HIDE) = True) Then
       Edit1.Text := 'Done'
   Else
   Begin
       Edit1.Text := 'ERROR';
       Edit2.Text := IntToStr(GetLastError());
   End;
end;
فقط می دونم که در مورد توابع api ویندوزه و باید با کتابخونه win32gui نوشته بشه
در اصل باید برنامه با پایتون نوشته بشه و پایتون این تابع رو صدا بزنه ،اگرپنجره ای باز بود اون روبیاره روی همه پنجره ها یا minimize کنه
درود

در پایتون از Tkinter , pyqt5 , kivy برای ساخت رابط کاربری میتوانید بهره بگیرید .tkinter پیش فرض در بیشتر IDE های پایتون هست.
میتوانید در وب آموزشهایش را جستجو کنید pdf فارسی هم دارد.

اینم تبدیلش
برای المانهایی مثل label,edit از کتابخانه tkinter استفاده شده

کد:
import tkinter as tk
import ctypes
from ctypes import wintypes

# Constants for AnimateWindow
AW_HIDE = 0x10000

# Function to animate the window
def animate_window(hwnd, duration, flags):
   ctypes.windll.user32.AnimateWindow(hwnd, duration, flags)

# Function to handle the button click
def on_button_click():
   # Get the handle of the Tkinter window
   hwnd = root.winfo_id()
   
   # Animate the window
   result = animate_window(hwnd, 1500, AW_HIDE)
   
   # Update the Edit fields based on the result
   if result:
       edit1.delete(0, tk.END)
       edit1.insert(0, 'Done')
   else:
       edit1.delete(0, tk.END)
       edit1.insert(0, 'ERROR')
       edit2.delete(0, tk.END)
       edit2.insert(0, str(ctypes.GetLastError()))

# Create the main window
root = tk.Tk()
root.title("Animate Window Example")

# Create and configure the label
label = tk.Label(root, text='function: AnimateWindow', font=('Arial', 15))
label.pack(pady=10)

# Create and configure the edit fields
edit1 = tk.Entry(root, width=40)
edit1.pack(pady=5)

edit2 = tk.Entry(root, width=40)
edit2.pack(pady=5)

# Create and configure the button
button = tk.Button(root, text='Animate', command=on_button_click)
button.pack(pady=20)

# Start the Tkinter event loop
root.mainloop()