geometry management

  • مدرس: علی بیگدلی
  • تاریخ انتشار: Aug 26, 2020

اولین مدل مدیریتی ویدجت ها در رابط TK ،پکیج pack بوده است. رفتار الگوریتمی pack آسان نیست و می تواند یک طرح موجود به چندین مدل دشوار تغییر دهد. grid در سال 1996 به عنوان یک جایگزین برای بسته بندی معرفی شد. گرچه grid ها برای یادگیری و استفاده و ایجاد طرحهای آسانتر و راحت تر است اما هنوزم بسیاری از توسعه دهندگان از pack استفاده میکنند. grid در بسیاری موارد بهترین انتخاب برای استفاده عمومی است. در حالی که گاهی اوقات pack برای تغییر جزئیات در طرح، کافی نیست، اما به شما امکان کنترل کامل موقعیت هر عنصر را می دهد، ولی با این حال همه pack را دشوار تر از grid در نظر می گیرند. مدیریت grid ویدجتها را در یک جدول دو بعدی قرار می دهد که شامل تعدادی ردیف و ستون است. موقعیت ویجت توسط یک ردیف و یک شماره ستون تعریف شده است. ابزارک با همان شماره ستون و شماره ردیف های مختلف بالاتر یا پایینتر از یکدیگر است. به این ترتیب ویدجت با همان شماره ردیف، اما شماره ستون های مختلف بر روی همان خط قرار می گیرد. با استفاده از مدیریت grid می توانید بعد از تعریف ویدجت برای درج آن المان در صفحه از متد grid بر روی object تعریف شده عملیات جایگذاری را با استفاده از آپشن های مختلف و دلخواه پیاده سازی کنید. اندازه grid الزامی نیست که تعریف شود، زیرا مدیر به طور خودکار بهترین ابعاد ویدجت مورد استفاده را تعیین می کند.  

#importing libraries
from tkinter import *

#making the window object
window = Tk()

#giving window a title
window.title("icc-aria gui app")

#creating a list of labels
labels = ['Name','Family Name','Site','Social Media']

#a loop to insert all the labels in on column but different rows
for items in labels:
    Label(window,text=items).grid(column=0,row=int(labels.index(items)))

#a loop to create all entry fields in one column but different
for items in labels:
    Entry(window).grid(column=1,row=int(labels.index(items)))


#window size and main loop
window.geometry("260x260")
window.mainloop()

خروجی قطعه کد:

 

ثبت دیدگاه
نام *
ایمیل*
دیدگاه *
captcha
2دیدگاه
  • Amirmohammad
    4 days, 22 hours ago

    سلام، با تشکر از آموزش های خوب
    سوال داشتم، این قسمت از کد من چه ایرادی داره؟ ممنون میشم جواب بدین
    def projects():
    current_dir = r'C:\Users\Amir H\Desktop\Python projects\Notepad'
    try:
    for item in os.listdir(current_dir):
    if not os.path.isfile(item):
    for file in os.listdir(item):
    if file.endswith('.txt'):

    text_file = open(r"C:\Users\Amir H\Desktop\Python projects\Notepad\saves/" + file, "r")
    stuff = text_file.read()
    text_file = open(stuff + '.txt', 'r')
    stuff = text_file.read()
    Canvas(app, width=1280, height=512, bg='#B71B21').pack()

    x = file.split('.')
    txt = ""
    txt += x[0]

    btn = Button(app, text=txt, borderwidth=0, bg='#D27F4C', font=("Dubai Medium", 28), width=10, height=4)
    btn.place(x=0)

    except:
    pass

    • علی بیگدلی
      4 days, 22 hours ago

      لطفا قطعه کدتون رو توی تلگرام ارسال کنین و مشکلش رو بیان کنین @icc_aria_admin