2017-03-20 15 views
0

私はこのコードを持っています。 import tkinterを削除し、プロジェクトや他のコードをインポートして読みやすいようにします。変数の変更後にtkinterのテキストを書き換えます

from Project import * 

class TechnologyIDE: 
    def __init__(self, master): 
     #Vytvoření master 
     self.master = master 

     #Settings Tk 
     master.title('Technology IDE') 

     #Frame 
     frame = Frame(root) 
     frame.pack() 

     self.frameLEFT = Frame(master) 
     self.frameLEFT.pack(side=LEFT,fill=Y) 

     self.frameRIGHT = Frame(master) 
     self.frameRIGHT.pack(side=RIGHT, expand=True, fill=BOTH) 

     #Vytvoření menu 
     menu = Menu(master) 
     root.config(menu=menu) 

     #Boxy 
     self.showCodewitHLines() 
     self.showProjectToolbar() 
     self.showNavigator() 

    def showProjectToolbar(self): 
     actualProject = project.actualProject 
     listbox = Listbox(self.frameLEFT, width=50) 
     listbox.pack(side=TOP, anchor=W) 
     if actualProject == "": 
      listbox.insert(END, "None project opened") 
     else: 
      print("Vidim"+actualProject) 
      listbox.delete(0, END) 
      listbox.insert(END, actualProject) 
      var = os.listdir(actualProject+"/") 
      for va in var : 
       listbox.insert(END," "+va) 

    def showCodewitHLines(self): 
     TextArea = Text() 
     ScrollBar = Scrollbar(root) 
     ScrollBar.config(command=TextArea.yview) 
     TextArea.config(yscrollcommand=ScrollBar.set) 
     ScrollBar.pack(side=RIGHT, fill=Y) 
     TextArea.pack(expand=True, fill='both') 

    def showNavigator(self): 
     listbox = Listbox(self.frameLEFT,width=50) 
     listbox.pack(side=TOP, anchor=W) 
     listbox.insert(END, "NAVIGATOR") 


    root = Tk() 
    ide = TechnologyIDE(root) 
    root.mainloop() 

と私は私のProject.py

class Project: 
    def __init__(self): 
     self.actualProject = "" 

    def newProject(self): 
     self.top = Toplevel() 
     self.top.title("Creating new project") 
     self.top.focus_set() 

     self.projectname = Entry(self.top) 
     self.projectname.pack() 

     btnClose = Button(self.top, text="Close", command=self.top.destroy) 
     btnCreate = Button(self.top, text="Create", command=self.createProject) 
     btnCreate.pack() 
     btnClose.pack() 

    def createProject(self): 
     self.newpath = "Projects/"+self.projectname.get() 
     if not os.path.exists(self.newpath): 
      os.makedirs(self.newpath) 
      fn = open(self.newpath+"/"+"run.py", "w+") 
      self.top.destroy() 
      self.actualProject = self.newpath 
      print("Project"+self.actualProject) 

project = Project() 

にこのコードを持っていると私は、この問題を抱えています。 新しいプロジェクトを作成すると、ファイルが作成されます。私はそれをgui(showProjectToolbar)にロードしたい。だから私は新しいプロジェクトを作成する、それは変数にロードする必要がありますし、guiはループ内にあるので、ロードしてguiで表示する必要がありますが、それは決してありません。 は、私はあなたがshowProjectToolbarが呼び出されているたびにListboxを作成し、詰めるべきではない、より良い理解 enter image description here

答えて

1

はこちらuの写真を与えています。

そのように、TechnologyIDEさん__def__機能でそれを作成します。

self.listbox = Listbox(self.frameLEFT, width=50) 
self.listbox.pack(side=TOP, anchor=W) 

を次に、あなたが新しいプロジェクトを作成するときに、ちょうどそれを追加します:self.listbox.insert(END, actualProject)

+0

が変更されましたが、依然として同じバグ –

+0

結果をデバッグしようとしましたか?追加は実行されますか?私はそれ以上の情報が必要になるでしょう。 – galah92

+0

私はコードを利用できないようにそのプロジェクトを記録しています。しかし、実際のプロジェクトが見えないという問題がありました –

関連する問題