ChooseOutDir()
Возврашал
PATH
statusbar.config(text = dn)
ChooseOutDir()
PATH
statusbar.config(text = dn)
from Tkinter import *
import tkFileDialog
PATH = ""
def ChooseOutDir():
global PATH
PATH = tkFileDialog.askdirectory()
def PrintPATH():
statusbar.config(text = PATH)
root = Tk()
Button(text="Open File Dialog", command=ChooseOutDir).pack()
Button(text="Print PATH", command=PrintPATH).pack()
statusbar = Label(text="", bd=1, relief=SUNKEN, anchor=W)
statusbar.pack(side=BOTTOM, fill=X)
root.mainloop()
#!/usr/bin/env python32
from tkinter import *
from tkinter.filedialog import askopenfilename
def ChooseFile(event):
a = askopenfilename()
root=Tk()
#простой способ - через параметр "command" - все нормально, кнопка не
#западает, а возвращается после нажатия обратно
outdirbtn=Button(root, text="Open File Dialog", command = askopenfilename)
# нажатием на кнопку правой клавишей мыши - тоже все О.К.
outdirbtn.bind("<Button-3>", ChooseFile)
# через фокус клавишей "Enter" - тоже все О.К.
outdirbtn.bind("<Return>", ChooseFile)
#а вот здесь странное поведение: при нажатии левой клавишей мыши
#кнопка после диалога выбора файла "западает", т.е. не возвращается в верхнее положение
# и остается "нажатой"
outdirbtn.bind("<Button-1>", ChooseFile)
outdirbtn.pack()
root.mainloop()
outdirbtn.bind("<Button-1>", ChooseFile)
outdirbtn.bind("<ButtonRelease-1>", ChooseFile)
outdirbtn.bindtags(("Button", outdirbtn))
from tkinter import * from tkinter.filedialog import askopenfilename
from tkinter import * from tkinter.filedialog import askopenfilename
#!/usr/bin/env python32 # import tkinter # def ChooseFile(): file_ = tkinter.filedialog.askopenfilename() # root = tkinter.Tk() outdirbtn = tkinter.Button(root, text="Open File Dialog", command = ChoiseFile) outdirbtn.pack() # root.mainloop()
x-ray
2. Почему такое поведение только на левой кнопке мыши? У меня нет подробной спецификации…
x-ray
в объяснении указаны 2 события ButtonPress - 1 и ButtonRelease - 1, но вместо ButtonPress-1 я использовал Button-1, но может это и не столь важно.
x-ray
- и все-таки почему так реагирует только левая кнопка мыши, а с правой (да и с “Enter” тоже) - проблем нет? Ну это так - для расширения кругозора….
outdirbtn.bind("<a>", press)