تولید کننده آموزش و محصولات مبتنی بر برنامه نویسی مدرن

۷۴ مطلب با کلمه‌ی کلیدی «اموزش» ثبت شده است

اموزش gui با کتابخانه tkinter این قسمت keyboard

با سلام بهنام صباغی هستم با اموزش gui با کتابخانه tkinter این قسمت keyboard
دوستان bind هم برای ایونت ها کاربرد داره ما میتونیم با بایند هر ایونتی رو روی هر ابزاری تعریف کنیم اگر یادتون باشه کال بک فقط برای فشردن کلید ها یا به عبارت دیگه یک بار کلیک کردن روی اونها بکار میرفت ولی bind دست ما رو خیلی بازتر میذاره اینجا توی این درس من تمرکز دارم روی کلید هایی که از کیبورد میشه فشرد و درس بعد در مورد موس صحبت میکنم خب با یه مثال شروع میکنم
#********************CODE***********************

ادامه مطلب...
۱۵ فروردين ۹۵ ، ۰۰:۵۸ ۰ نظر موافقین ۰ مخالفین ۱
بهنام صباغی

اموزش gui با کتابخانه tkinter این قسمت callback

با سلام بهنام صباغی هستم با اموزش gui با کتابخانه tkinter این قسمت callback
خب یه برنامه ی ساده مینویسم و روی اون توضیح میدم
#******************CODE*******************
from tkinter import *
from tkinter import ttk

root=Tk()
root.geometry('640x480+200+200')
def button_callback():
    print('clicked')
button=ttk.Button(root,text='click',command=button_callback).pack()
#***********************************

ادامه مطلب...
۱۵ فروردين ۹۵ ، ۰۰:۵۴ ۰ نظر موافقین ۱ مخالفین ۰
بهنام صباغی

اموزش gui با کتابخانه tkinter این قسمت geometry manager place

با سلام بهنام صباغی هستم با اموزش gui با کتابخانه tkinter این قسمت geometry manager place
خب دوستان این یکی خیلی دست ادم رو بازتر میذاره میشه توی x و y خاص ابزارمون رو نمایش بدیم کد زیر رو اجرا کنید
#**********************CODE******************
from tkinter import *
from tkinter import ttk

root=Tk()
root.rowconfigure(0,weight=1)
root.rowconfigure(1,weight=3)
root.columnconfigure(2,weight=1)
ttk.Label(root,text='bytton1',background='red').place(x=20,y=30)
ttk.Label(root,text='bytton1',background='blue').place(x=30,y=40)
ttk.Label(root,text='bytton1',background='orange').place(x=40,y=50)

ttk.Label(root,text='bytton1',background='green').place(x=50,y=60)

#*********************************************
خب میبینید که با تغییر اندازه ی روتمون اینها نغییری نمیکنند برای این مشکل از relx و rely استفاده میکنیم به صورت زیر
ttk.Label(root,text='bytton1',background='orange').place(relx=0.5,rely=0.5)
میبینید که تقریبا وسط پنجرمونه ولی سوال اینجاست که چطور میشه کاری کرد که دقیقا وسطش باشه جوابشم تنظیم anchor به 'center' است مثل زیر
ttk.Label(root,text='bytton1',background='orange').place(relx=0.5,rely=0.5,anchor='center')
میتونید نقطه ی صفر رو با relx و rely مقدار بدیم و از اونجا هم دوباره ایکس و y بدیم مثال زیر رو ببینید
ttk.Label(root,text='bytton1',background='pink').place(relx=0.5,x=100,rely=0.5,y=50,anchor='center')
خی تا الان از سمت جپ بالا مقدار میدادیم حالا میشه از سمت راست بالا هم مقدار داد ولی با منفی و باید relx رو برابر 1.0 قرار بدیم میدونید چرا دیگه مثال رو ببینید
ttk.Label(root,text='bytton1',background='green').place(relx=1.0,x=- 5,y=5)
 و میشه اندازه ی ابزار رو هم تعیین کرد
ttk.Label(root,text='bytton1',background='green').place(relx=1.0,x=- 5,y=5,relwidth= 0.5,relheight=0.5))
و
1 - place_slaves()
2 - place_configure()
3 - place_info()
4 - place_forget()
موفق باشید

۱۵ فروردين ۹۵ ، ۰۰:۵۳ ۰ نظر موافقین ۰ مخالفین ۱
بهنام صباغی

اموزش gui با کتابخانه tkinter این قسمت geometry manager grid

با سلام بهنام صباغی هستم با اموزش gui با کتابخانه tkinter این قسمت geometry manager grid
خب این یکی یکم بهتره البته از نظر من توی این یکی از ایندکس برای نمایش استفاده میکنیم صفحه رو به قطعه های کوچیک تقسیم میکنه از سمن بالا چپ شماره ردیف و شماره ستون کد رو ببینید
#**********************CODE***********************

from tkinter import *
from tkinter import ttk

root=Tk()

ttk.Label(root,text='bytton1',background='red').grid(row=0,column=0)

ttk.Label(root,text='bytton1',background='blue').grid(row=1,column=0)

ttk.Label(root,text='bytton1',background='orange').grid(row=0,column=1)

ttk.Label(root,text='bytton1',background='green').grid(row=1,column=1)

#************************************************

حالا اگر بخوایم دقیقا زیر هم نباشند و یکم جابجا بشند و از قطعه ی خودشون بیرون بیاند یه راه داره کد زیر رو ببینید

#**********************CODE***********************

from tkinter import *
from tkinter import ttk

root=Tk()

ttk.Label(root,text='bytton1',background='red').grid(row=0,column=2 ,rowspan=2)

ttk.Label(root,text='bytton1',background='blue').grid(row=1,column=0,  columnspan=2)

ttk.Label(root,text='bytton1',background='orange').grid(row=0,column=0)

ttk.Label(root,text='bytton1',background='green').grid(row=0,column=1)

#************************************************
با این الگو میتونیم بذاریمشون زیر همدیگه اجرا کنید خودتون میفهمید و موقعیت رو هم میتونید با جهت های جغرافیایی بهش بدید
ttk.Label(root,text='bytton1',background='green').grid(row=0,column=1,stick ='e')
حالا کد زیر رو اجرا کنید
#**********************CODE***********************

from tkinter import *
from tkinter import ttk

root=Tk()

ttk.Label(root,text='bytton1',background='red').grid(row=0,column=2 ,rowspan=2,stick ='nsew')

ttk.Label(root,text='bytton1',background='blue').grid(row=1,column=0,  columnspan=2,stick ='nsew')

ttk.Label(root,text='bytton1',background='orange').grid(row=0,column=0,stick ='nsew')

ttk.Label(root,text='bytton1',background='green').grid(row=0,column=1,stick ='nsew')

#************************************************
میبینید که با تغییر اندازه تغییر نمیکنند برای این مشکل با توایع rowconfigure و  columnconfigure که متعلق به روت هستند و مشخص کردن وزن برای هرکدوم مشکل رو حل میکنیم مثال زیر رو ببینید
#**********************CODE***********************

from tkinter import *
from tkinter import ttk

root=Tk()
root.rowconfigure(0,weight=1)
root.rowconfigure(1,weight=3)
root.columnconfigure(2,weight=1)
ttk.Label(root,text='bytton1',background='red').grid(row=0,column=2 ,rowspan=2,stick ='nsew')

ttk.Label(root,text='bytton1',background='blue').grid(row=1,column=0,  columnspan=2,stick ='nsew')

ttk.Label(root,text='bytton1',background='orange').grid(row=0,column=0,stick ='nsew')

ttk.Label(root,text='bytton1',background='green').grid(row=0,column=1,stick ='nsew')

#************************************************
کد بالا رو اجرا کنید و پنجره رو تغییر اندازه بدید میبینید که در راستای row ردیف دوم به ازای هر یک پیکسل تغییر اندازه ی ردیف اول سه پیکسل تغییر اندازه میده و هر ردیفی رو که تعریف نکنیم یا ستون فرقی نمیکنه صفر درنظر گرفته میشه
درراستای ستون ها هم سومی رو که یک دادم تغییر میکنه وبقیه صفر هستند
توابع زیر هم مثل همون pack برای grid هم صادقند
1 - grid_slaves()
2 - grid_configure()
3 - grid_info()
4 - grid_forget()
موفق باشید

۱۵ فروردين ۹۵ ، ۰۰:۵۲ ۱ نظر موافقین ۱ مخالفین ۰
بهنام صباغی

اموزش gui با کتابخانه tkinter این قسمت geometry manager pack

با سلام بهنام صباغی هستم با اموزش gui با کتابخانه tkinter این قسمت geometry manager pack
خب لالاخره رسیدیم به حالت های چیدن ایزار هامون روی صفحه اسم کلیشون geometry manager هست و الان من میخوام شما رو بیشتر با pack اشنا کنم همونی که تا الان ازش استفاده ی ساده میکردیم و باهاش اشنایی نداشتیم حالا براتون کامل توضیحش میدم
کد زیر رو اجرا کنید
#**********************CODE******************
from tkinter import *
from tkinter import ttk

root=Tk()

button1=ttk.Button(root,text='bytton1')
button1.pack()

#*********************************************

ادامه مطلب...
۱۵ فروردين ۹۵ ، ۰۰:۵۱ ۰ نظر موافقین ۱ مخالفین ۰
بهنام صباغی

اموزش gui با کتابخانه tkinter این قسمت dialog

با سلام بهنام صباغی هستم با اموزش gui با کتابخانه tkinter این قسمت dialog
دیالوگ برای زمانی کاربرد داره که میخواید به کاربر پیامی رو نمایش بدید و یا نظرش رو بپرسید با یه مثال ساده شروع میکنم
#***********************CODE**********************
from tkinter import messagebox

messagebox.showinfo(title='error',message="you dont undrestand if don't  exercise")
#***************************************************
میبینید که اول یک پنجره اصل نمایش داده میشه و بعد پیام اخطار اجرا میشه چون رای اجرای پیام نیاز به یک پنجره اصلی داریم و سه مدل از این دیالوگ ها داریم که از اسمشون معلومه برای چه کاری هستند
1 - showinfo()
2 - showwarning()
3 - showerror()

ادامه مطلب...
۱۵ فروردين ۹۵ ، ۰۰:۲۳ ۱ نظر موافقین ۱ مخالفین ۰
بهنام صباغی

اموزش gui با کتابخانه tkinter این قسمت style

با سلام بهنام صباغی هستم با اموزش gui با کتابخانه tkinter این قسمت style
خب دوستان قبلا د مورد state براتون توضیح دادم فقط اینجا میخوام به 10 تا از ورودی هایی که میتونه بگیره یه اشاره داشته باشم
1 - active
2 - disabled
3 - focus
4 - pressed
5 - selected
6 - background
7 - alternate
8 - invalid
9 - hover
10- readonly
خب دوستان دیدید که برای تعیین خصوصیت های هر ابزار از config اون استفاده میکردیم توی حالت عادی ولی وقتی از ttk استفاده میکنیم میتونیم یک تم تعریف کنیم و برای چندین ابزار استافده کنیم یا مثلا میتونیم تم دکمه هامون رو اختصاصی کنیم یا هر ابزار دیگه ای رو برای این کار اول یک استایل ایجاد میکنیم

ادامه مطلب...
۱۱ فروردين ۹۵ ، ۰۳:۳۴ ۰ نظر موافقین ۱ مخالفین ۰
بهنام صباغی

اموزش gui با کتابخانه tkinter این قسمت scrollbar

با سلام بهنام صباغی هستم با اموزش gui با کتابخانه tkinter این قسمت scrollbar
خب احتمالا تا حالا به این مشکل خوردید که مثلا متنی که توی text نمایش دادید خیلی بزرگ بوده و در نتیجه تمام متن داخل text قابل نمایش نبوده (text منظورم ابزار text هستش) اگر توی برنامه هایی مثل ورد نگاه کرده باشید برای حل این مشکل ازیک ابزار کنار صفحه استفاده میکنند که یه حالت کشویی مانند داره و حرکت میکنه بعضی وقتا افقیه و به راست و چپ حرکت میکنه و بعضی وقتا عمودیه و به بالا و پایین حرکت میکنه حالا میخوام همین ابزار رو یادتون بدم طریقه ی ساختش رو در زیر اوردم

ادامه مطلب...
۱۰ فروردين ۹۵ ، ۰۴:۳۲ ۰ نظر موافقین ۰ مخالفین ۰
بهنام صباغی

اموزش gui با کتابخانه tkinter این قسمت menu

با سلام بهنام صباغی هستم با اموزش gui با کتابخانه tkinter این قسمت menu
خب وستان مطمئنم تا حالا حتما توجه کردید که با هر برنامه ای کار میکنید قسمت بالای برنامه یه سری نوشته مثل file هست که وقتی روشون کلیک میکنید یه منو براتون باز میشه که میونید از این منوها گزینه ی مورد نیازتون رو پیدا کنید تا کارتون رو انجام بده حتی اگر یه نوت پد ساده رو هم باز کنید این منو ها رو داره خب بریم سرغ ساخت این منو ها در برنامتون توی پایتون اول باید یک منو بسازید که والدش root باشه چون میخوایم روی روت منو رو سوار کنیم کد زیر رو بینید تا توضیح میدم

ادامه مطلب...
۰۹ فروردين ۹۵ ، ۰۴:۲۸ ۰ نظر موافقین ۱ مخالفین ۰
بهنام صباغی

اموزش gui با کتابخانه tkinter این قسمت canvas


با سلام بهنام صباغی هستم با اموزش gui با کتابخانه tkinter این قسمت canvas
خب دوستان canvas برای کشیدن خطوط و اشکال هندسی وهمینطور استفاده از عکس ها هستش و حتی میشه از بقیه ابزار ها توی این ابزار استفاده کرد خب طریفه ی ساخت این ابزار به صورت زیر هست
MyCanvas= Cancas(root)
خب اوین چیزی که اموزش میدم کشیدن یک خط هست کد زیر رو ببینید تا توضیح بدم بهتون

ادامه مطلب...
۰۹ فروردين ۹۵ ، ۰۳:۳۰ ۰ نظر موافقین ۱ مخالفین ۰
بهنام صباغی