Reputation: 423
I have two functions CheckOs
and _get_keyfile
as below:
1:CheckOs(without considering Mac)
def CheckOs():
if os.name == 'nt':
return "Windows"
return "Linux"
2:_get_keyfile
def _get_keyfile(stdscr):
keyfile = Tk()
keyfile.withdraw()
if CheckOs() == "Windows":
keyfile.KeyfileName = filedialog.askopenfilename(initialdir="/", title="Selecta Key File",filetypes=(("Anfu Keyfiles", "*.anky"),))
#if not windows then linux,IGNOREEEEEEEEE MAC
keyfile.KeyfileName = filedialog.askopenfilename(initialdir="/home", title="Select a Key File",filetypes=(("Anfu Keyfiles", "*.anky"),))
keyfile.destroy()
return keyfile.KeyfileName
the problem is when ever _get_keyfile
Function is executed it opens the File Dialog to select the file but opens again after I select the file and the file is selected after the second time. The problem only persists on Windows on Linux its working fine.
I want to know if I am doing something wrong or is that a bug in Tk .Any help Appreciated
Upvotes: 0
Views: 267
Reputation: 1113
In the _get_keyfile
function change the function to include a else after the if to avoid opening dialog box. If it's not a Linux OS
def _get_keyfile(stdscr):
keyfile = Tk()
keyfile.withdraw()
if CheckOs() == "Windows":
keyfile.KeyfileName = filedialog.askopenfilename(initialdir="/", title="Select a Key File",filetypes=(("Anfu Keyfiles", "*.anky"),))
else:
keyfile.KeyfileName = filedialog.askopenfilename(initialdir="/home", title="Select a Key File",filetypes=(("Anfu Keyfiles", "*.anky"),))
keyfile.destroy()
return keyfile.KeyfileName
As a result the dialog box will only pop-up one time
Happy Coding!
Upvotes: 1