دسته: رابط گرافیکی tkinter

ایجاد رابط گرافیکی در پایتون با استفاده از tkinter

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

اگر دقت کرده باشید حتما متوجه شده اید که بعد از اجرای برنامه هایی که با Tkinter ساخته اید، آیکون بالای پنجره به صورت پیش فرض توسط Tkinter تعیین شده است. در این مطلب می خواهیم روش تعیین و نمایش آیکون دلخواه بر روی پنجره برنامه را معرفی کنیم. ابتدا یک برنامه می نویسیم که یک لیبل ساده را به نمایش می گذارد. می بینید که در بالای پنجره سمت چپ آیکون پیش فرض نمایش داده شده است: برای اینکه بتوانیم آیکون دلخواهمان را در این پنجره نمایش دهیم ابتدا لازم است که فایل تصویری آن را با فرمت PNG در فولدری که برنامه ما در آن ذخیره شده است قرار دهیم. نام فایلی که ما آن را ذخیره کرده ایم MyIcon.png است. برنامه جدید به این شکل خواهد بود: برای معرفی آدرس فایل تصویری در برنامه ، ابتدا باید کتابخانه os را مشابه خط 1 فراخوانی کنیم. در خط 10 آدرس فولدر برنامه را در متغیر currentDir می ریزیم. بعد در خط 11 با استفاده از دستور photoImage فایل تصویری را در شی photo قرار می دهیم. توجه نمایید که چطور با استفاده از آدرسی که در خط قبل استخراج کردیم و نام فایل [ . . . ]

  • 1,548 بازدید
  • 2
  • 14 فوریه, 2022
ادامه مطلب

جدید آموزش ایجاد رابط گرافیکی کاربر (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  یک پنجره باز می شود که کاربر می تواند در آن مسیر فایل مورد نظر و سپس فایل دلخواه را انتخاب و باز کند. مسیر [ . . . ]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 1,593 بازدید
  • 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 تعیین نموده ایم و متغیر مرتبط با این ویجت [ . . . ]

  • 1,629 بازدید
  • 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 یک [ . . . ]

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