2016-10-25 2 views
0

Я новичок на сайте и новичок в python (и в общем кодировании), так голый со мной :) Я ищу, чтобы взять путь к файлу, который захвачен, когда пользователь выбирает файл с помощью tkFileDialog и передает его другому скрипту, который может открыть этот файл и выполнить другой скрипт. Конечная цель здесь - выбрать два xml-файла и сравнить их. Внешний скрипт будет активирован кнопкой подтверждения и выведет любые различия между двумя файлами в текстовом фрейме.Как передать переменную класса из одного скрипта в другой

import Tkinter 
import tkFileDialog 
from Tkinter import * 
from tkFileDialog import * 

class GUI: 
    def __init__(self, master): 
     self.master = master 
     path1 = StringVar() 
     path2 = StringVar() 

     master.title("XML Compare Tool") 
     master.geometry('700x300') 

     self.bb1 = Button(master, text="Browse", command=lambda: path1.set(tkFileDialog.askopenfilename())) 
     self.bb1.grid(row=0, column=0, padx=5, pady=5) 

     self.bb2 = Button(master, text="Browse", command=lambda: path2.set(tkFileDialog.askopenfilename())) 
     self.bb2.grid(row=1, column=0, padx=5, pady=5) 

     self.confirm = Button(master, text="Confirm", command='') 
     self.confirm.grid(row=3, column=1, padx=5, pady=5, sticky='') 

     self.entry1 = Entry(master, width=75, textvariable=path1) 
     self.entry1.grid(row=0, column=1, columnspan=2, sticky=W) 

     self.entry2 = Entry(master, width=75, textvariable=path2) 
     self.entry2.grid(row=1, column=1, sticky=W) 

     self.t_label = Label(master, text="Script Output") 
     self.t_label.grid(row=4, column=1, columnspan=1, sticky='') 

     self.t_frame = Frame(master, bg="white", height=150, width=600) 
     #self.t_frame.place(x=25, y=120, height=250, width=690) 
     self.t_frame.grid(row=5, column=1, columnspan=1, sticky='') 
     self.t_text = Text(self.t_frame) 
     #self.t_text.pack(expand=True, fill='both') 

root = Tk() 
my_gui = GUI(root) 
root.mainloop() 
+1

Поскольку вы только учитесь, я рекомендую избегать «лямбды», если это действительно необходимо. Ваши кнопки должны вызывать соответствующие функции/методы. Это значительно упрощает кодирование, особенно если вы сейчас учитесь программировать. –

+0

, если внешний скрипт является скриптом python, и он имеет код, организованный в функции, тогда вы можете импортировать этот скрипт и функцию вызова. – furas

ответ

-1

Я думаю, что ваша проблема фактически передаёт аргументы в ответ на вызов tkinter. Помогает ли this?

+0

Это не очень хороший ответ. Пожалуйста, ознакомьтесь с некоторыми ответами на этот вопрос: «Ответы, которые содержат ссылки в других местах действительно« хорошие ответы »?] (Http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain- ссылки-другое-очень-хорошо-ответы) –

 Смежные вопросы

  • Нет связанных вопросов^_^