你如何一个接一个地打开两个tkinter Windows。

时间:2017-07-26 03:56:44

标签: python-3.x tkinter

我对python编程很新,它的类概念与java,c ++,c#等语言以及Tkinter库非常不同。我正在尝试做一些基本的事情。首先创建一个允许用户输入字符串值的框架;将该字符串值存储在内存中然后退出该帧。创建一个允许您选择特定文件的新文件浏览器,然后使用先前存储在内存中的字符串重命名所选文件。我没有任何具体的代码片段,但是我有两段代码可以组合起来给我想要的结果。

enter code here
# This is the snippet for the input user
def printtext():
    global e
    string = e.get() 
    return string   

from Tkinter import *
root = Tk()

root.title('Name')

e = Entry(root)
e.pack()
e.focus_set()

b = Button(root,text='okay',command=printtext)

b.pack(side='bottom')

root.mainloop()

# This is for the file browser

import Tkinter,tkFileDialog

root = Tkinter.Tk()
file = tkFileDialog.askopenfile(parent=root,mode='rb',title='Choose a file')

1 个答案:

答案 0 :(得分:0)

为什么不尝试像这个例子中的asksaveasfilename。但是如果你想使用带有条目的file_path = askopenfilename,那么你必须使用OS库,使用函数os.rename(我认为)。这段代码是用python 3编写,所以如果你使用python2而不仅仅是更改库的名称。

from tkinter import *
import tkinter.filedialog as fd

def main():

    root = Tk()
    root.title('Name')
    #e = Entry(root)
    #e.pack()

    #e.focus_set()
    b = Button(root,text='okay',command= lambda:printtext(e))    
    b.pack(side='bottom')

    root.mainloop()

def printtext(e):
    #string = e.get() 
    #print(string)
    file = fd.asksaveasfile(title='Choose a file')
    #print(file)

main()