[Python] Using Tkinter with grid layout, how to get results from entry to each take up own line

Discussão em 'Python' iniciado por Stack, Fevereiro 22, 2025.

  1. Stack

    Stack Membro Participativo

    Current code will provide results. If 1 is put into each entry box the result comes out almost how I am trying to get it. Below is how a single entry is posted. [​IMG]

    This is the result of multiple requests. The results should all display how they do in the 1 request image. Also need help with formatting. Image 1 should display as follows Krerzen Aleanduis, Inxena Takkenepp. [​IMG]

    import tkinter as tk
    import random

    def generate_random_value():
    try:
    num_values = int(entry.get())
    if num_values > 0 and num_values <= len(demp):
    random_values = random.sample(demp,num_values)
    random_values2 = random.sample(dems,num_values)
    rv3 = random.sample(dehp,num_values)
    rv4 = random.sample(dehs,num_values)
    new_window = tk.Toplevel(window)
    combined_item = random_values+random_values2
    new_window.title("Wow!!")
    xresult_label=tk.Label(new_window, text='result')
    xresult_label.grid()
    xresult_label.config(text=random_values+random_values2+rv3+rv4)
    else:
    result_label.config(text="Invalid input")
    result_label.grid_forget()
    except ValueError:
    result_label.config(text="Invalid input")
    try:
    num_values = int(entry2.get())
    if num_values > 0 and num_values <= len(dems):
    random_values3 = random.sample(defp, num_values)
    rv5 = random.sample(defs,num_values)
    rv6 = random.sample(dehp,num_values)
    rv7 = random.sample(dehs,num_values)
    yresult_label=tk.Label(new_window, text='result')
    yresult_label.grid()
    yresult_label.config(text=random_values3+rv5+rv6+rv7)
    else:
    result_label.config(text="Invalid input")
    result_label.grid_forget()
    except ValueError:
    result_label.config(text="Invalid input")

    window=tk.Tk()
    window.title("Random Value Generator")

    #Dark Elf
    #Male prefix
    demp = ['Alak','Alt','Alton','Antr','Amal','Bar','Bel','Bhen','Berg','Brar','Cal','Chasz','Cor','Dant','Dhaun','Danv','Din','Dur','Elk','Elaug','Erth','Geld','Ghaun','Gul','Hatch','Imd','Iren','Irenn','Kalan','Ker','Kron','Kren','Krer','Mer','Mern','Niln','Nilo','Nym','Nyr','Omar','Phar','Phyx','Sor','Quev','Quen','Rinn','Riz','Ryl','Tsa','Tsab','Teb','Tlu','Tluth','Torr','Vel','Vell','Vuz','Vorn','Zak']
    #Male suffix
    dems = ['agh','ahn','aun','afein','al','axle','daer','drin','eld','eil','fin','fein','fryn','ica','imar','inid','irahc','kah','myr','nas','nar','nozz','olin','omph','or','rar','rak','ril','tar','trin','trol','tro','vun','vex','ven','vyr','yl','yln','yrd','yraen','zaer','zen','zyr']
    #Female prefix
    defp = ['Akor','Alon','Ang','Aun','Bae','Bar','Belar','Chal','Char','Chess','Dil','Dur','Dris','Elvan','Elv','Erel','Ethe','Felar','Faer','Felyn','Gin','Hael','Hal','Houn','Ilam','In','Iril','Irae','Ily','Ilm','Jan','Jhael','Lael','Lir','Lurd','Lua','Mua','Mae','Myr','Nhath','Nhil','Nes','Pallan','Phyr','Quar','Quilv','Rauv','Ril','Shri','Sur','Sin','Tal','Tiel','Triss','Vas','Vier','Vlon']
    #Female suffix
    defs = ['a','ae','aer','afae','ala','ayna','baste','brin','cyce','cyril','dia','dah','dril','e','eyel','fryn','iara','idil','inrir','iri','iista','ithra','kiira','lay','lara','na','niss','nitra','onia','onyss','quarra','quesi','rae','raena','rina','ryna','shalee','sin','stra','tana','thara','vex','xena','xen']
    #House prefix
    dehp = ['Alean','Ale','Arken','Auvrey','Baern','Barri','Cladd','Crim','De','Do','Des','Eils','Evreh','Helvi','Hla','Hun','Kin','Keil','Kae','Mae','Mel','Mye','Noqe','Noqu','Nili','Orly','Ouss','Rilyn','Takken','Tor','Zoa']
    #House suffix
    dehs = ['alfin','ailin','ani','ana','ar','arn','ath','duis','deris','drar','ervs','epp','ett','ghym','iryn','irin','iros','lyl','mtar','mtor','ndar','neld','rae','rahel','rret','sek','th','tlar','tyl','und','urden','val','vyr']

    entry = tk.Entry(window,width=3)
    entry.grid()
    entry2 = tk.Entry(window,width=3)
    entry2.grid()

    button = tk.Button(window, text="Generate", command=generate_random_value)
    button.grid()

    result_label = tk.Label(window, text="")
    result_label.grid()

    window.mainloop()

    Continue reading...

Compartilhe esta Página