برچسب: python

جدید آموزش ایجاد رابط گرافیکی کاربر (GUI) در پایتون به وسیله Tkinter قسمت 17 – کار با فایلها

یکی از قابلیتهای مهم tkinter استفاده از پنجره های باز کردن و ذخیره کردن فایلها است و می خواهیم با یک مثال نحوه کار با  آنها را توضیح دهیم. برنامه ای که می نویسیم قرار است یک کارد text داشته باشد و با استفاده از یک دکمه بتوان یک فایل متنی را باز کرد و متن آن را در کادر نمایش داد. همچنین با یک دکمه دیگر متن نوشته شده داخل یک کادر را داخل یک فایل متنی ذخیره نمود. شکل ظاهری این برنامه به این صورت خواهد بود: توضیح برنامه بعد از احضار کتابخانه و ایجاد پنجره اصلی ، دو تابع به نام open_file و save_file  تعریف شده است که عملکرد آنها بعدا توضیح داده می شود. در خط 24 و 25 یک ویجت text ایجاد و جانمایی کرده ایم. در 4 خط بعدی 2 دکمه btnOpen و btnSave تعریف و جانمایی شده اند و با کلیک روی آنها به ترتیب تابع های open_file و save_file فراخوانی اجرا می شوند. تابع open_file در خط 9 با استفاده از filedialog.askopenfilename  یک پنجره باز می شود که کاربر می تواند در آن مسیر فایل مورد نظر و سپس فایل دلخواه را انتخاب و باز کند. مسیر [ . . . ]

  • 148 بازدید
  • 0
  • 14 اکتبر, 2021
ادامه مطلب

جدید آموزش ایجاد رابط گرافیکی کاربر (GUI) در پایتون به وسیله Tkinter قسمت 16 – Menubutton

یکی از ویجتهای به درد بخور در tkinter ویجت menubutton است. این ویجت شبیه به یک منو هست اما لازم نیست در بالای پنجره و مثل منوهای دیگر قرار بگیرد. بلکه در هر جای پنجره می توان آن را قرار داد. در زیر برنامه ای را می بینید که با اجرای آن کاربر می تواند از menubutton یک گزینه را انتخاب کند و پیغام مرتبط با آن گزینه در یک لیبل نمایش داده شود: با اجرای برنامه پنجره به این شکل نمایش داده می شود: با کلیک روی دکمه منوی category دو گزینه به شکل زیر ظاهر می شود: با انتخاب هر یک از دو گزینه متن مربوط به آن گزینه در لیبل نمایش داده می شود: توضیح برنامه خطوط 1 تا 6 مربوط به احضار کتابخانه های مورد نیاز و ایجاد پنجره اصلی به نام root هستند. در خط 7 تا 10 دو تابع به نامهای analog و digital تعریف کرده ایم که که در صورت فراخوانی یک متن را داخل لیبل نمایش می دهند. در خط 11 یک ویجت menubutton با نام mbtn ایجاد می کنیم و در خط بعد ابعاد و مکان آن را مشخص می نماییم. در خط 13 یک منو [ . . . ]

  • 124 بازدید
  • 0
  • 1 اکتبر, 2021
ادامه مطلب

جدید آموزش ایجاد رابط گرافیکی کاربر (GUI) در پایتون به وسیله Tkinter قسمت 15 – Text

ویجت text مانند entry به کاربر اجازه می دهد که متن مورد نظرش را در آن وارد کند. تفاوت text با entry در این است که می توان متن های چند خطی و طولانی تر را در آن وارد کرد. همچنین امکان نمایش لینک و عکس هم در این ویجت وجود دارد. در ابتدا قصد داریم برنامه ای بنویسیم که یک کادر متن دارد که مقادیری را از قبل در آن نوشته ایم. در پایین پنجره اصلی دو دکمه داریم که یکی کادر متن را پاک می کند و دیگری هر چه در کادر متن نوشته شده است را در یک لیبل نمایش می دهد. توضیح برنامه: طبق معمول در خطوط 1 تا 6 کتابخانه tkinter را احضار و پنجره اصلی را ایجاد می کنیم. سپس دو تابع به نام Transfer و clear  تعریف شده که بعدا به توضیح آنها خواهیم پرداخت. در خط 13 یک ویجت text با نام txt ایجاد کرده ایم و در خط بعد آن را با ابعاد دلخواه در مکان دلخواه قرار می دهیم. برای اینکه متنی را در کادر آن نمایش دهیم از دستور insert استفاده می کنیم. ابتدا از ابتدای خط اول  جمله Hello World! را می نویسیم. [ . . . ]

  • 142 بازدید
  • 0
  • 15 سپتامبر, 2021
ادامه مطلب

جدید آموزش ایجاد رابط گرافیکی کاربر (GUI) در پایتون به وسیله Tkinter قسمت 14 – Menu

در بسیاری از نرم افزارهایی که با آنها کار کرده اید ، منوهای مختبف را دیده اید که هر کدام شامل گزینه هایی هستند و با کلیک روی هر کدام اتفاق مربوط به آن رخ می دهد. طبیعتا tkinter نیز به عنوان یک ابزار طراحی رابط گرافیکی کاربر یا همان GUI امکان ایجاد منو را فراهم می کند. برای آشنایی با این ویجت برنامه ای می نویسیم که در بالای پنجره یک نوار منو ایجاد کند و در آن 2 منو دیده شود و هر کدام قابلیت باز شدن داشته باشند و با کلیک روی گزینه های داخل منوها اتفاق مربوط به آن رخ خواهد داد. شکل نهایی رابط کاربری به این شکل خواهد بود: برنامه را در زیر می بینید: توضیح برنامه خطوط 1 تا 7 مربوط به احضار کتابخانه های مورد نیازجمله messagebox و ایجاد پنجره اصلی هستند. در خط 8 تا 11 دو تابع تعریف شده اند که قرار است موقع کلیک روی منوها اجرا شوند و بعدا به آن می پردازیم. در خط 12 نوار منوی رابط کاربری را با نام menubar ایجاد می کنیم و در خط بعدی تعیین می کنیم که همین نوار منو در پنجره برنامه نمایش داده [ . . . ]

  • 131 بازدید
  • 0
  • 10 سپتامبر, 2021
ادامه مطلب

جدید آموزش ایجاد رابط گرافیکی کاربر (GUI) در پایتون به وسیله Tkinter قسمت 13 – Radiobutton

دکمه رادیویی یا Radiobutton یک ویجت پرکاربرد است که به کاربر اجازه می دهد از بین چند گزینه یکی را انتخاب کند. شکل ظاهری آن به این شکل است: در شکل بالا دو عدد از این ویجت دیده می شود. می توان تعدادی checkbutton در یک صفحه قرار داد تا کاربر هر کدام را که می خواهد با کلیک کردن روی آن انتخاب کند یا از انتخاب بیرون بیاورد. همچنین به طور هم زمان می تواند چندین مورد را انتخاب کند. برای آشنایی با عملکرد و چگونگی استفاده از دکمه رادیویی این برنامه را نوشته ایم که با اجرای آن، کاربر می تواند بین سه گزینه یکی را انتخاب کند و بعد از انتخاب ، پیام متناسب در لیبل پایین پنجره نمایش داده می شود. توضیح برنامه بعد از احضار کتابخانه و ایجاد پنجره اصلی ، یک تابع به نام choice تعریف کرده ایم که با توجه به گزینه انتخاب شده بین دکمه های رادیویی پیغام مناسب را در لیبل lblSelect نمایش خواهد داد. در خط 8 یک متغیر رشته ای مخصوص tkinter به نام strChoice تعریف کرده ایم که بعدا در دکمه های رادیویی مورد استفاده قرار خواهد گرفت. در خط 9 و 10 [ . . . ]

  • 146 بازدید
  • 0
  • 3 سپتامبر, 2021
ادامه مطلب

جدید آموزش ایجاد رابط گرافیکی کاربر (GUI) در پایتون به وسیله Tkinter قسمت 12 – Checkbutton

ظاهر ویجت Checkbutton که ممکن است آن را به نام چک باکس Checkbox هم بشناسید، به شکل زیر است. در شکل بالا دو عدد از این ویجت دیده می شود. می توان تعدادی checkbutton در یک صفحه قرار داد تا کاربر هر کدام را که می خواهد با کلیک کردن روی آن انتخاب کند یا از انتخاب بیرون بیاورد. همچنین به طور هم زمان می تواند چندین مورد را انتخاب کند. برای آشنایی با عملکرد و چگونگی استفاده از آن برنامه زیر را نوشته ایم که با اجرای آن، کاربر می تواند دو گزینه را انتخاب کند یا از انتخاب خارج کند. با هر بار کلیک کردن روی یکی از این آیتمها متن لیبلها متناظر با حالت انتخاب آیتمها تغییر می کند. توضیح برنامه بعد از احضار کتابخانه و ایجاد پنجره اصلی ، یک تابع به نام choice تعریف کرده ایم که وظیفه آن بررسی وضعیت چک باتن ها و نمایش پیغام مناسب در لیبل هاست. در خط 15 و 16 یک لیبل ایجاد شده که قرار است یک پیغام ثابت را هنگام اجرای برنامه نمایش دهد. در خط 17 و 18 دو متغیر مخصوص tkinter از نوع IntVar تعریف کرده ایم که قرار است [ . . . ]

  • 119 بازدید
  • 0
  • 3 سپتامبر, 2021
ادامه مطلب

جدید آموزش ایجاد رابط گرافیکی کاربر (GUI) در پایتون به وسیله Tkinter قسمت 11 – Scale

یکی از ویجتهای محبوب و به درد بخور در طراحی رابط گرافیکی کاربر، Scale است که ممکن است به نام اسلایدر slider هم شناخته شود. شکل ظاهری این ویجت به شکل زیر است: کاربر می تواند دستگیره را جابه جا کند و مقدار دلخواه را انتخاب کند. برنامه ای را در زیر می بینید که در آن دو scale عمودی و افقی قرار داده شده و وقتی کاربر هر کدام را تغییر می دهد، مقدار آن در لیبل متناظر نمایش داده می شود. توضیح برنامه: طبق معمول در خطوط 1 تا 5 کتابخانه tkinter را احضار و پنجره اصلی را ایجاد می کنیم. سپس دو تابع به نام Xchanged و Ychanged تعریف شده که بعدا به توضیح آنها خواهیم پرداخت. در خطوط 12 و 13 دو متغیر مخصوص tkinter از نوع DoubleVar تعریف کرده ایم که بتوانیم مقدار مربوط به اسکیل ها را در آنها ذخیره نماییم. خطوط 14 تا 17 مربوط به ایجاد و جانمایی لیبل هایی است که قرار است مقادیر مربوط به اسکیل ها را نمایش دهند. در خط 18 یک اسکیل افقی به نام sclX ایجاد کرده ایم. عنوانی که در کنار اسکیل نمایش داده می شود X: است. سپس با [ . . . ]

  • 162 بازدید
  • 0
  • 27 آگوست, 2021
ادامه مطلب

جدید آموزش ایجاد رابط گرافیکی کاربر (GUI) در پایتون به وسیله Tkinter قسمت 10 – spinbox

ویجت spinbox یکی از ویجتهایی که کاربر می تواند یکی از چند آیتم موجود را از آن انتخاب کند spinbox است. این ویجت مثل combobox و listbox قابلیت نشان دادن همه آیتمها را ندارد، بلکه کاربر با استفاده از دو پیکان کناری می تواند بین آیتمها یکی را انتخاب کند. در زیر برنامه ای نوشته ایم که به کاربر این امکان را می دهد سن خود را بین 18 تا 99 سال انتخاب نماید. برنامه را در زیر می بینید: بعد از اجرای برنامه پنجره زیر نمایش داده می شود: با تغییر سن ، متن یک لیبل متناسب با انتخاب کاربر تغییر می کند: توضیح برنامه خطوط 1 تا 6 مربوط به احضار کتابخانه های مورد نیاز و ایجاد پنجره اصلی هستند. در خط 7 و 8 یک تابع به نام agechanged تعریف کرده ایم که بعدا به توضیح آن می پردازیم. در خط بعدی یک متغیر مخصوص tkinter به نام intAge تعریف کردیه ایم که بعدا قرار است سن کاربر داخل آن ذخیره شود. در خط 10 یک ویجت spinbox با نام spnAge تعریف و مقادیر داخل آن را از عدد 18 تا عدد 99 تعیین نموده ایم و متغیر مرتبط با این ویجت [ . . . ]

  • 221 بازدید
  • 0
  • 6 آگوست, 2021
ادامه مطلب

جدید آموزش ایجاد رابط گرافیکی کاربر (GUI) در پایتون به وسیله Tkinter قسمت 9 – Combobox

ویجت combobox وقتی می خواهیم یک رابط گرافیکی ایجاد کنیم یکی از ویجت های پرکاربرد combobox است. اما متاسفانه در کتابخانه tkinter چنین ویجتی موجود نیست. بنابراین باید از ttk استفاده کنیم. در زیر برنامه ای را می بینید که دسته بندی های موضوعی سایت کاراکیت را در یک combobox نمایش می دهد، کاربر می تواند یکی از این دسته ها را انتخاب کند. سپس برنامه با یک پیغام اعلام می کند که کدام مورد انتخاب شده است. با اجرای برنامه این پنجره مشاهده می شود: با کلیک روی combobox لیست آن به صورت زیر نمایش داده می شود: با کلیک روی combobox لیست آن به صورت زیر نمایش داده می شود: توضیح برنامه: در خط 2 می بینید که ttk را هم فراخوانی کرده ایم. در خطوط 5 تا 7 پنجره اصلی را ایجاد و مشخصات آن را تعیین نموده ایم. از خط 8 تا 10 تابعی به نام changedcategory تعریف کرده ایم که بعدا درباره آن توضیح می دهیم. در خط 11 لیستی به نام categories ایجاد کرده ایم که بعدا از آن در ایجاد combobox استفاده خواهیم کرد. در خط 12 و 13 یک لیبل ایجاد کرده ایم. در خط 14 یک [ . . . ]

  • 225 بازدید
  • 0
  • 6 آگوست, 2021
ادامه مطلب

جدید آموزش ایجاد رابط گرافیکی کاربر (GUI) در پایتون به وسیله Tkinter قسمت 8 – message box

کادر پیغام یا message box در این قسمت قصد داریم نحوه اعلام و نمایش پیغام در tKinter را آموزش دهیم. در tKinter سه نوع پیغام قابل نمایش است. نوع اول صرفا اطلاعاتی را به کاربر نمایش می دهد. نوع دوم هشدار یا خطایی را به کاربر نشان می دهد. نوع سوم ضمن نمایش پیغام، می تواند با استفاده از چند دکمه از کاربر پاسخ دریافت کند. مجموعا 8 تابع مختلف برای نمایش انواع پیغامها در tKinter وجود دارد که قالب کلی دستورات آنها مشابه هم است و دو مورد قابل تنظیم در این دستورات عنوان پیغام و متن پیغام است.  در ادامه با مثالهای ساده آنها را توضیح خواهیم داد. نمایش اطلاعات با showinfo به برنامه زیر توجه کنید: توضیح برنامه یک تفاوت که این برنامه با برنامه های قبلی دارد در این است که در خط 3 messagebox را فراخوانی کرده ایم. در خط 9 یک دکمه به نام btn در صفحه قرار داده ایم که با فشرده شدن آن تابع showinformation فراخوانی و اجرا می شود. این تابع را در خط 7 و 8 تعریف کرده ایم. در این تابع با استفاده از دستور messagebox.showinfo  یک پیغام نمایش داده می شود. عنوانی که [ . . . ]

  • 358 بازدید
  • 0
  • 5 آگوست, 2021
ادامه مطلب