Ich versuche, den Benutzer nach dem Speicherort für die Datei zu suchen, um die Excel-Daten abzurufen. Bis jetzt funktioniert die Broswe-Funktion und wird als Etikett angezeigt, aber das Etikett auf die Funktion einer der Schaltflächenoptionen wie texas() zurückzuführen, funktioniert nicht. Der folgende Fehler ich aus der Schale erhalten ist:Tkinter Fehler: nicht unterstützte Operandentypen für +: 'instance' und 'str'
"unsupported operand type(s) for +: 'instance' and 'str'"
Wie konvertiere ich das Label Wert String und damit es funktioniert?
Code:
from Tkinter import *
import tkFileDialog
import sys
if sys.version_info[0] < 3:
import Tkinter as Tk
else:
import tkinter as Tk
import os
import tkMessageBox
root = Tk.Tk()
root.title("Excel Map Conversion")
root.geometry("450x400")# width x height
def browse_gainInfo():
currentDir = os.getcwd()
fname = tkFileDialog.askdirectory(parent=root, initialdir=currentDir, title="Please Select the Folder for Map Data Input")
pathlabel.config(text=fname)
filepath = StringVar()
def texas():
os.startfile(browseLink + '/Texas/Texas_conversion.py')
def state():
os.startfile(filepath.get() + '\State\StateConv.py')
def college():
os.startfile(filepath.get() + '\College\CollegeConv.py')
def underGrad():
os.startfile(filepath.get() + '\Undergraduate\undergrad_conversion.py')
def grad():
os.startfile(filepath.get()+ '\Graduate\graduate_conversion.py')
browseLabel = Label(root, text="Browse for source of Map Data").pack()
browse1 = Tk.Button(root, text='Browse', width =6, command = browse_gainInfo)
browse1.pack()
pathlabel= Label(root)
pathlabel.pack()
browseLink = StringVar(pathlabel)
label = Label(root, text="\nEnter in the filepath for the map files: \n").pack()
link = Entry(root, textvariable = filepath).pack()
label2 = Label(root, text ="\n\tPlease select from the following options:\n").pack()
button1 = Button(root, text = "College", command = college).pack()
button2 = Button(root, text= "State", command = state).pack()
button3 = Button(root, text="Texas", command = texas).pack()
button4 = Button(root, text ="Undergraduate", command = underGrad).pack()
button5 = Button(root, text ="Graduate", command = grad).pack()
#kick off the event loop
root.mainloop()
Haben Sie die Dokumentation zu 'StringVar' gelesen? Der Wert wird dokumentiert. –
Sie tun dasselbe für 'browselink', das Sie für' filepath' gemacht haben. – chepner
Leicht habe ich den Abschnitt Detaillierung Set-Funktion und alle gelesen, aber ich habe versucht, mit einer Set-Funktion auf den Wert und funktioniert nicht –