我查看了多個執行緒,我似乎無法找出為什么 stringVar 沒有顯示在輸入框中,一旦選擇了檔案。我可以看到 print(filePath.get()) 具有選定的檔案,但輸入框保持空白。
有人可以幫忙嗎?
#import libraries
import os
import paramiko
import tkinter as tk
from tkinter import *
from tkinter import ttk
from tkinter import filedialog
from tkinter.filedialog import askopenfilename
import sys
def getFilePath():
file_selected = filedialog.askopenfilename(title="Select File")
filePath.set(file_selected)
print(filePath.get())
#-------------------------------GUI------------------------------
gui = tk.Tk()
gui.title("NetWizard 1.0")
tabControl = ttk.Notebook(gui, width = 1000, height = 700)
gui.resizable(False, False)
tabControl.pack( expand = 1, fill ="both")
tab1 = ttk.Frame(tabControl)
tab2 = ttk.Frame(tabControl)
tabControl.add(tab1, text ='RUGGEDCOM', )
tabControl.add(tab2, text ='WESTERMO')
#--------------------------RUGGEDCOM WIDGET----------------------
filePath = StringVar()
entry1 = Entry(gui, textvariable=filePath, width=1000)
entry1 = tk.Entry(tab1, width = 60)
label1 = Label(tab1, text="IP Address List Input:", font=('Arial', '11', 'bold'))
button1 = Button(tab1, text='Browse', command=getFilePath, font=("Arial", 10), width = 10, bg='#add8e6')
label1.grid(row=0, column=0, padx = 15, pady=10, sticky = W)
entry1.grid(row=1, column=0, padx=15, pady=5)
button1.grid(row=1, column=1, padx=0, pady=0, sticky = W)
gui.mainloop()
uj5u.com熱心網友回復:
這是因為您沒有在函式中設定輸入文本值。假設在您獲得檔案路徑后,您應該將檔案路徑文本值分配到條目中。
您可以通過將此代碼插入到您的代碼中來做到這一點。
entry1.insert(0, "Test Value")
您的代碼:
def getFilePath():
file_selected = filedialog.askopenfilename(title="Select File")
filePath.set(file_selected)
print(filePath.get())
entry1.insert(0, filePath.get())
您可以參考https://www.geeksforgeeks.org/how-to-set-the-default-text-of-tkinter-entry-widget/。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/524499.html
