دوستان عزیز سلام! به ادامه ی بحث آموزش برنامه نویسی گرافیکی در پایتون با ماژول tkinter می پردازیم.
در جلسه قبل یاد گرفتیم که چگونه بتوانیم از کلاس tk یک شی ایجاد کنیم. برای مثال:
tk=Tk()
حال یک کنترل سطح بالا که پنجره اصلی برنامه ما است، ایجاد می شود.
برخی از کلاس هایی که در کنترل ها استفاده می شوند:
Canvas.
هر آنچه که برای تزئین برنامه نیاز دارید در این کلاس پیدا می شود؛ همانند رسم نقاط، گراف ها و...
Button.
دکمه ای را ایجاد می کند و این دکمه طبق دستوراتی که از ما دریافت می کند، یک عمل خاصی را در فرم انجام می دهد (با کلیک کردن کاربر بر روی دکمه)
Menu.
مثل تمام منوهایی که در اپلیکیشن های مختلف در زندگی روزمره خود می بینیم، یک منو ایجاد می کند و ما می توانیم گزینه هایی به آن اضافه کنیم.
Message.
متن موردنظر را به نمایش می گذارد.
Radiobutton.
چند دکمه ایجاد می کند که فقط یکی از آن ها قابل انتخاب و استفاده است.
Listbox.
مقداری از گزینه ها را نشان می دهد و کاربر یکی را انتخاب می کند.
Label.
یک متن و یا یک عکس را به فرم می چسباند.
Text.
یک متن معمول را به شما نمایش می دهد، با این فرق که می توانید مقداری تغییرات گرافیکی را در نمایش متن به کار گیرید.
یاد گرفتیم که می توانیم با کنترل Label، یک متن یا تصویر را به نمایش در بیاوریم. برای اینجاد کنترل Label کد زیر را تایپ کنیم:
win = Label(fourm,text=values)
در تعریف کلی که در کد بالا از Label داشتیم text یک صفت برای Label بود. برخی از این صفت ها عبارتند از:
text. متن فرمت بندی شده را نمایش می دهد. در آن می توانید متن را به سبک های مختلفی نشان دهید و ویرایش کنید.
foreground & background. این دو صفت به ترتیب رنگ پس زمینه برای کل Label و رنگ زمینه برای صفت را تنظیم می کنند و بطور خلاصه تحت عنوان fg و bg ذکر می شوند.
font. سبک نوشتاری را برای متن تعیین می کند (در داخل Label). برای مثال:
font=("nazanin",22)
کد بالا فونت را «نازنین» و سایز آن را برابر با 22 قرار می دهد.
اگر بخواهیم یک عکس و یک متن را به نمایش در بیاوریم، باید بصورت زیر عمل کنیم:
from tkinter import * win = Tk() win.title("Amir") win.configure(background="red") lab = Label(win , text="Amir",fg="black",bg="orange").pack(side= "left") pho = PhotoImage(file="C:\Users\Amir\Desktop\Python-Logo2.gif") Labe= Label(win,image=pho).pack(side="right") win.mainloop()
در خط اول tkinter را وارد و همه کتابخانه های آن را بوسیله * import کردیم.
در خط دوم یک فرم ساختیم و به متغیر win وارد کردیم.
در خط سوم title فرم خود را مشخص کرده ایم.
در خط چهارم رنگ زمینه را مشخص کرده ایم.
در خط پنجم Label را ایجاد کرده ایم. در این Label نکته قابل توجه در pack است که در ادامه آن را بررسی خواهیم کرد.
در خط ششم یک متغیر ایجاد کرده و یک عکس را به آن اختصاص داده ایم (پسوند عکس باید gif باشد).
در خط هفتم یک Label برای نمایش دادن عکس ایجاد کرده ایم.
در خط هشتم فرم win را بصورت استمراری و مداوم فراخوانی کرده ایم.
این متد پارامترهایی را دریافت و آن ها را روی Label موردنظر اعمال می کند. برخی از آن پارامترها یا صفات عبارتند از:
side. جهات قرارگیری Label را در فرم مشخص می کند.
in. کنترل را در داخل یک کنترل دیگر به اجرا در می آورد.
fill. مشخص می کند که آیا کل فضایی که توسط فرم در اختیارش قرار گرفت، توسط کنترل پر شود یا خیر. اگر None باشد (پیش فرض) در اندازه واقعی خود ظاهر می شود.
از اسم این متد مشخص است که با تعیین مکان ارتباط دارد. یعنی ما بوسیله این متد می توانیم برای مثال یک موقعیت مکانی برای قرارگیری یک کنترل در یک فرم را تعیین کنیم. به طور نمونه:
controlname.place(x=x1,y=y1)
فرض کنید که یک سورس کد نوشته اید و این سورس کد شما دارای 10 بخش یا به اختصار 10 تابع است که هر یک از یکدیگر جدا هستند و عمل متفاوتی را انجام می دهند. برای اینکه کاربر مطابق با نیاز خود این توابع را انتخاب و از آن ها استفاده کند، شما نیازمند این هستید که یک دکمه تعریف کنید. این دکمه کدهایی را که به آن نسبت دادید، اجرا می کند.
برای مثال ما می توانیم در پیاده سازی یک ماشین حساب برای هر یک از عملگرهای خود (+ ,- ,/ ,// ,**,%,*) یک دکمه ی متفاوت بسازیم که کاربر بنا به نیاز خود، آن ها را انتخاب کرده و از آن ها استفاده نماید.
Amir = Button(win ,sefat = value)
در کد بالا ما یک متغیر ایجاد کرده و مقدار آن را با یک Button که در فرم win قرار می گیرد مساوی و در پارامتر بعدی صفات موردنظر را به Button داده ایم.
مثال:
Amir = Button(win ,text = "Hello" ,command=quit) Amir.pack()
یک دکمه در خط اول ساخته شده و صفت خروج از برنامه را با command در خود گرفته است و در خط دوم ما بوسیله متد pack این Button را به فرم موردنظر وصل کرده ایم.
منبع: سایت Geeks for Geeks
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.