Как остановить mainWindow при открытии нового окна и получить мое значение - PullRequest
0 голосов
/ 30 июня 2018

Моя проблема в том, что у меня есть Main-Class с функцией нажатия кнопки, где, если я нажимаю кнопку, открывается EntryBox и в функции нажатия кнопки я тоже хочу создать папку, но я не знать, как «остановить» основное окно, пока открыто окно EntryBox, чтобы получить значение (имя папки).

@ BryanOakley Минимальный, полный и проверяемый пример:

Это мой msBox.py

import tkinter as tk

FolderName = ""

class EntryBox:
def __init__(self, Text):
    self.root = tk.Tk()
    self.textBox = tk.Entry(self.root)
    self.EBOKAY = tk.Button(self.root, text="Okay")
    self.EBOKAY.bind("<Button-1>", self.EBOKAY_click)
    self.EBLabel = tk.Label(self.root, text=Text)

    self.EBLabel.pack()
    self.textBox.pack()
    self.EBOKAY.pack()

    self.root.mainloop()

def EBOKAY_click(self, event):
    global FolderName
    FolderName = self.textBox.get()
    self.root.destroy()

Вот мой следующий файл gui.py:

import tkinter as tk
import os
import msBox

# variables
path = "/"

class GUI:
    def __init__(self, master):
        self.button1 = tk.Button(master, text="Set")
        self.button1.bind('<Button-1>', self.button1_click)
        self.button1.pack()

    def button1_click(self, event):
        test = msBox.EntryBox("New folder name:")
# Here is need a wait-Statement or anything else
        os.mkdir(path + msBox.FolderName)

Вот мой main.py:

import tkinter as tk
import gui

def main():
    root = tk.Tk()
    design = gui.GUI(root)
    root.mainloop()

if __name__ == '__main__': 
    main()
...