2017-07-25 104 views
1

我想要一個基本的GUI,有兩個文本框輸入:一個用於我的函數convert_databases中的每個參數,但我不知道如何傳遞這些參數(I看過一些使用lambda的例子,但是我無法正確實現它們)。Python初學者Tkinter:輸入函數

這裏我嘗試到目前爲止,這主要來自Tkinter的自帶的教程來了:

from tkinter import * 
from tkinter import ttk 

def convert_databases(input_file, output_format): 
    #Function deleted for simplicity 

root = Tk() 
root.title("Title") 

#Formatting 
mainframe = ttk.Frame(root, padding="3 3 12 12") 
mainframe.grid(column=0, row=0, sticky=(N, W, E, S)) 
mainframe.columnconfigure(0, weight=1) 
mainframe.rowconfigure(0, weight=1) 

#Setting Variables 
file = StringVar() 
conversion = StringVar() 

# Places to enter variables 
file_entry = ttk.Entry(mainframe, width=50, textvariable=file) 
file_entry.grid(column=2, row=2, sticky=(W, E)) 
type_entry = ttk.Entry(mainframe, width=50, textvariable=conversion) 
type_entry.grid(column=2,row=3, sticky=(W,E)) 

# Convert Button 
ttk.Button(mainframe, text="Convert", command= # Here is where I'm having trouble#) 

#Label for the variable 1 input 
ttk.Label(mainframe, text="Input file name: ").grid(column=1, row=2, sticky=W) 
#Label for the variable 2 input 
ttk.Label(mainframe, text="Input file type conversion: ").grid(column=1, row=3, sticky=W) 

# This sets the window, I think? 
for child in mainframe.winfo_children(): child.grid_configure(padx=5, pady=5) 

# Puts the cursor automatically in the text box 
file_entry.focus() 

# Runs the thing 
root.mainloop() 

謝謝!

回答

3

不使用字符串變量我還停留在這個曾經改用項目獲取方法

from tkinter import * 
    from tkinter import ttk 

    def convert_databases(): 
      global file 
      global convert 
      # get the values of entries 
      file = file_entry.get() 
      convert = type_entry.get() 

    root = Tk() 
    root.title("Title") 

#Formatting 
    mainframe = ttk.Frame(root, padding="3 3 12 12") 
    mainframe.grid(column=0, row=0, sticky=(N, W, E, S)) 
    mainframe.columnconfigure(0, weight=1) 
    mainframe.rowconfigure(0, weight=1) 



    # Places to enter variables 
    file_entry = ttk.Entry(mainframe, width=50) 
    file_entry.grid(column=2, row=2, sticky=(W, E)) 
    type_entry = ttk.Entry(mainframe, width=50) 
    type_entry.grid(column=2,row=3, sticky=(W,E)) 

    # Convert Button 
    ttk.Button(mainframe, text="Convert", command= convert_databases 
    ) 

    #Label for the variable 1 input 
    ttk.Label(mainframe, text="Input file name: ").grid(column=1, row=2, 
    sticky=W) 
    #Label for the variable 2 input 
    ttk.Label(mainframe, text="Input file type conversion: 
    ").grid(column=1, row=3, sticky=W) 

    # This sets the window, I think? 
    for child in mainframe.winfo_children(): child.grid_configure(padx=5, 
    pady=5) 

    # Puts the cursor automatically in the text box 
    file_entry.focus() 

    # Runs the thing 


    root.mainloop() 

而且使用像條目不是文本框官方術語

+0

做的工作? –

+1

我會給你我的tkinter項目的鏈接,我希望他們會幫助你https://github.com/Burhanasif59/Python-modules下載tkinter項目zip.They是在Python 2.7,但它不會是一個問題 –

+0

它的工作精美的,它只是花了我幾分鐘,讓我的工作結束!非常感謝!! – CalendarJ