دیالوگهای Tkinter¶
tkinter.simpledialog --- محاورههای ورودی استاندارد Tkinter¶
کد منبع: Lib/tkinter/simpledialog.py
ماژول tkinter.simpledialog شامل کلاسها و توابع تسهیلکنندهای برای ایجاد پنجرههای محاورهای مودال (modal) ساده است تا مقداری را از کاربر دریافت کند.
- tkinter.simpledialog.askfloat(title, prompt, *, initialvalue=None, minvalue=None, maxvalue=None, parent=None)¶
- tkinter.simpledialog.askinteger(title, prompt, *, initialvalue=None, minvalue=None, maxvalue=None, parent=None)¶
- tkinter.simpledialog.askstring(title, prompt, *, initialvalue=None, show=None, parent=None)¶
از کاربر برای وارد کردن مقداری از نوع موردنظر درخواست میکند و آن را برمیگرداند، یا اگر پنجرهی محاورهای لغو شود،
Noneبرمیگرداند.title عنوان محاوره است و prompt پیامی است که بالای ورودی نمایش داده میشود. initialvalue مقداری است که در ابتدا در ورودی قرار داده میشود. parent پنجرهای است که محاوره روی آن نمایش داده میشود.
askinteger()وaskfloat()همچنین minvalue و maxvalue را میپذیرند، که مقدار پذیرفتهشده را محدود میکنند.askstring()همچنین show را میپذیرد، نویسهای که برای پوشاندن متن واردشده استفاده میشود، برای مثال'*'برای پنهان کردن گذرواژه.
- class tkinter.simpledialog.Dialog(parent, title=None)¶
کلاس پایه برای محاورههای سفارشی. نمونهسازی از آن، محاوره را بهصورت مودال نمایش میدهد و پس از اینکه کاربر آن را ببندد، بازمیگردد؛ سپس مقدار واردشده در ویژگی
resultدر دسترس است.- body(master)¶
بازنویسی کنید تا رابط دیالوگ را بسازد و ابزارکی که باید فوکوس اولیه را داشته باشد برگرداند.
- buttonbox()¶
رفتار پیشفرض، دکمههای OK و Cancel را اضافه میکند. برای چیدمانهای سفارشی دکمهها، آن را بازنویسی کنید.
- validate()¶
داده واردشده توسط کاربر را اعتبارسنجی کنید. اگر معتبر باشد، true را برگردانید، که در این صورت محاوره به
apply()میرود؛ برای باز نگهداشتن محاوره، false را برگردانید. پیادهسازی پیشفرض همیشه true را برمیگرداند؛ برای بررسی ورودی، آن را بازنویسی کنید.
- apply()¶
دادههای واردشده توسط کاربر را پردازش کنید، برای مثال با ذخیرهی آنها در ویژگی
result. پس از موفقیتvalidate()و درست پیش از تخریب محاوره فراخوانی میشود. پیادهسازی پیشفرض هیچ کاری انجام نمیدهد؛ آن را بازنویسی کنید تا بر اساس نتیجه عمل کند یا آن را ذخیره کند.
- destroy()¶
پنجرهی محاوره را از بین میبرد و ارجاع به ابزارکی که فوکوس اولیه را داشت پاک میکند.
- class tkinter.simpledialog.SimpleDialog(master, text='', buttons=[], default=None, cancel=None, title=None, class_=None)¶
یک پنجرهی محاورهای مودال ساده که پیام text را بالای ردیفی از دکمههای فشاری نمایش میدهد که برچسبهای آنها با buttons مشخص شدهاند، و اندیس دکمهای را که کاربر فشار میدهد برمیگرداند. default اندیس دکمهای است که با کلید Return فعال میشود، cancel اندیسی است که هنگام بسته شدن پنجره از طریق مدیر پنجره برگردانده میشود، title عنوان پنجره است، و class_ نام کلاس Tk پنجره است.
- go()¶
محاوره را نمایش دهید، منتظر بمانید تا کاربر دکمهای را فشار دهد یا پنجره را ببندد، و اندیس دکمهی انتخابشده را برگردانید.
tkinter.filedialog --- محاورههای انتخاب پرونده¶
کد منبع: Lib/tkinter/filedialog.py
ماژول tkinter.filedialog کلاسها و توابع کارخانهای (factory functions) را برای ایجاد پنجرههای انتخاب پرونده/پوشه ارائه میدهد.
محاورههای بومی بارگذاری/ذخیره¶
کلاسها و توابع زیر پنجرههای محاورهای پرونده را فراهم میکنند که ظاهر و رفتار بومی را با گزینههای پیکربندی برای سفارشیسازی رفتار ترکیب میکنند. آرگومانهای کلیدواژهای زیر بر کلاسها و توابع فهرستشده در زیر قابل اعمال هستند:
parent - پنجرهای که محاوره روی آن قرار میگیردtitle - عنوان پنجرهinitialdir - پوشهای که پنجرهی محاورهای در آن آغاز میشودinitialfile - پرونده انتخابشده هنگام باز شدن دیالوگfiletypes - دنبالهای از تاپلهای (label, pattern)، وایلدکارد '*' مجاز استdefaultextension - پسوند پیشفرض برای افزودن به پرونده (پنجرههای محاورهای ذخیره)multiple - هنگامی که true باشد، انتخاب چند آیتم مجاز است
توابع کارخانهای ایستا
توابع زیر هنگام فراخوانی، یک پنجره محاورهای مودال (modal) با ظاهر و رفتار بومی ایجاد میکنند، منتظر انتخاب کاربر میمانند و آن را برمیگردانند. مقدار بازگشتی دقیق به تابع بستگی دارد (در زیر ببینید)؛ هنگامی که پنجره محاورهای لغو میشود، این مقدار یک رشته خالی، یک تاپل خالی یا None است. نوع دقیق این مقدار خالی ممکن است بین سکوها و نسخههای Tk متفاوت باشد، بنابراین بهجای مقایسه آن با یک مقدار خاص، درستی نتیجه را بسنجید.
- tkinter.filedialog.askopenfile(mode='r', **options)¶
- tkinter.filedialog.askopenfiles(mode='r', **options)¶
یک پنجرهی محاورهای
Openایجاد کنید.askopenfile()شیء پرونده بازشده را برمیگرداند، یا اگر پنجرهی محاورهای لغو شود،Noneرا برمیگرداند.askopenfiles()فهرستی از اشیای پرونده بازشده را برمیگرداند، یا در صورت لغو شدن، یک تاپل خالی را برمیگرداند. پروندهها در حالت mode باز میشوند (بهطور پیشفرض، حالت فقطخواندنی'r').
- tkinter.filedialog.asksaveasfile(mode='w', **options)¶
یک پنجرهی محاورهای
SaveAsایجاد میکند و شیء پرونده بازشده را برمیگرداند، یا اگر پنجرهی محاورهای لغو شود،Noneرا برمیگرداند. پرونده در حالت mode باز میشود (بهطور پیشفرض'w').
- tkinter.filedialog.askopenfilename(**options)¶
- tkinter.filedialog.askopenfilenames(**options)¶
یک پنجرهی محاورهای
Openایجاد کنید.askopenfilename()نام پرونده انتخابشده را بهصورت یک رشته برمیگرداند، یا اگر پنجرهی محاورهای لغو شود، یک رشتهی خالی برمیگرداند.askopenfilenames()یک تاپل از نام پروندههای انتخابشده برمیگرداند، یا در صورت لغو، یک تاپل خالی برمیگرداند.
- tkinter.filedialog.asksaveasfilename(**options)¶
یک پنجرهی محاورهای
SaveAsایجاد کنید و نام پرونده انتخابشده را بهعنوان یک رشته برگردانید، یا اگر پنجرهی محاورهای لغو شد، یک رشتهی خالی برگردانید.
- tkinter.filedialog.askdirectory(**options)¶
از کاربر برای انتخاب یک پوشه درخواست میکند و مسیر آن را بهصورت یک رشته برمیگرداند، یا اگر پنجرهی گفتگو لغو شود، یک رشته خالی برمیگرداند. گزینه کلیدواژهای اضافی: mustexist - اگر true باشد، کاربر فقط میتواند یک پوشهی موجود را انتخاب کند (بهطور پیشفرض false است).
- class tkinter.filedialog.Open(master=None, **options)¶
- class tkinter.filedialog.SaveAs(master=None, **options)¶
- class tkinter.filedialog.Directory(master=None, **options)¶
سه کلاس بالا، پنجرههای محاورهای بومی را برای بارگذاری و ذخیره پروندهها و برای انتخاب یک پوشه فراهم میکنند.
کلاسهای راحتی
کلاسهای زیر برای ایجاد پنجرههای پرونده/پوشه از صفر استفاده میشوند. اینها ظاهر و رفتار بومی پلتفرم را شبیهسازی نمیکنند.
توجه
برای مدیریت رویداد و رفتار سفارشی، باید از کلاس FileDialog زیرکلاس ساخته شود.
- class tkinter.filedialog.FileDialog(master, title=None)¶
یک محاورهی انتخاب پرونده ساده ایجاد کنید.
- cancel_command(event=None)¶
باعث پایان یافتن پنجرهی محاورهای شوید.
- dirs_double_event(event)¶
هندلر رویداد دوبارکلیک روی پوشه.
- dirs_select_event(event)¶
هندلر رویداد برای رویداد کلیک روی پوشه.
- files_double_event(event)¶
هندلر رویداد برای رویداد دوبارکلیک روی پرونده.
- files_select_event(event)¶
هندلر رویداد برای رویداد تککلیک روی پرونده.
- filter_command(event=None)¶
پروندهها را بر اساس پوشه فیلتر کنید.
- get_filter()¶
فیلتر پرونده در حال استفاده را دریافت کنید.
- get_selection()¶
آیتم انتخابشدهی فعلی را بازیابی کنید.
- go(dir_or_file=os.curdir, pattern='*', default='', key=None)¶
دیالوگ را ترسیم کنید و حلقه رویداد را آغاز کنید.
- ok_event(event)¶
خروج از پنجرهی محاوره با برگرداندن انتخاب فعلی.
- ok_command()¶
هنگامی که کاربر انتخاب فعلی را تأیید میکند، فراخوانی میشود. پیادهسازی پایه انتخاب را میپذیرد و پنجرهی محاورهای را میبندد؛
LoadFileDialogوSaveFileDialogآن را بازنویسی میکنند تا ابتدا انتخاب را بررسی کنند.
- quit(how=None)¶
دیالوگ خروج خارج میشود و در صورت وجود، نام پرونده را برمیگرداند.
- set_filter(dir, pat)¶
فیلتر پرونده را تنظیم کنید.
- set_selection(file)¶
انتخاب پرونده جاری را به file بهروزرسانی کنید.
- class tkinter.filedialog.LoadFileDialog(master, title=None)¶
یک زیرکلاس از FileDialog که یک پنجرهی محاورهای برای انتخاب یک پرونده موجود ایجاد میکند.
- ok_command()¶
آزمایش کنید که پروندهای ارائهشده باشد و انتخاب، نشاندهندهی یک پرونده از قبل موجود باشد.
- class tkinter.filedialog.SaveFileDialog(master, title=None)¶
زیرکلاسی از FileDialog که یک پنجرهی محاورهای برای انتخاب پرونده مقصد ایجاد میکند.
- ok_command()¶
بررسی میکند که آیا مورد انتخابشده به یک پرونده معتبر اشاره میکند که پوشه نیست یا خیر. اگر یک پرونده از پیش موجود انتخاب شده باشد، تأیید لازم است.
tkinter.commondialog --- قالبهای پنجره محاورهای¶
کد منبع: Lib/tkinter/commondialog.py
ماژول tkinter.commondialog کلاس Dialog را فراهم میکند که کلاس پایه برای محاورههای تعریفشده در سایر ماژولهای پشتیبانی است.
tkinter.dialog --- جعبههای محاورهای کلاسیک Tk¶
کد منبع: Lib/tkinter/dialog.py
ماژول tkinter.dialog یک جعبهی محاورهی مودال ساده ارائه میدهد که مبتنی بر ابزارکهای کلاسیک Tk (بدون تم) است.
- tkinter.dialog.DIALOG_ICON¶
نام یک بیتمپ (
'questhead') مناسب برای استفاده بهعنوان bitmap یکDialog.
- class tkinter.dialog.Dialog(master=None, cnf={}, **kw)¶
یک جعبه محاورهای مودال ساختهشده از ابزارکهای کلاسیک Tk (بدون تم) را نمایش میدهد و منتظر میماند تا کاربر یکی از دکمههای آن را فشار دهد. گزینهها، که از طریق cnf یا بهصورت آرگومانهای کلیدواژهای داده میشوند، همه الزامی هستند: title (عنوان پنجره)، text (پیام)، bitmap (نام یک آیکون بیتمپ، مانند
DIALOG_ICON)، default (اندیس دکمه پیشفرض) و strings (دنبالهای از برچسبهای دکمه). پس از ساخت، ویژگیnumحاوی اندیس دکمهای است که کاربر فشار داده است.- destroy()¶
هیچ کاری انجام نمیدهد. پنجرهی محاورهای بهطور خودکار پیش از بازگشت سازنده تخریب میشود، بنابراین هیچ کاری برای این متد باقی نمیماند.
همچنین ملاحظه نمائید
ماژولها tkinter.messagebox، خواندن و نوشتن فایلها