Mar-07-2021, 08:55 AM
My python script runs on Windows 10. It uses various libraries including tkinter.
Opening it in idle, it runs perfectly.
I right click on the script and associate it with python. When I double click the script it opens as a tkinter window with buttons, then a file manager opens as programmed, and I select a file, but the script then closes.
When I open the script in idle, the program continues to work when the file is selected.
I have tried both as a .py and a .pyw. This makes no difference
I include an example below. I omitted some of the def's to see if one of them was the problem, but that was not the case.
It crashes even at this.
Can anyone suggest what is happening ?
Opening it in idle, it runs perfectly.
I right click on the script and associate it with python. When I double click the script it opens as a tkinter window with buttons, then a file manager opens as programmed, and I select a file, but the script then closes.
When I open the script in idle, the program continues to work when the file is selected.
I have tried both as a .py and a .pyw. This makes no difference
I include an example below. I omitted some of the def's to see if one of them was the problem, but that was not the case.
It crashes even at this.
Can anyone suggest what is happening ?
import matplotlib.pyplot as plt
import pandas as pd
import xlrd
import openpyxl
import os
import numpy as np
from tkinter import *
from tkinter import messagebox
root=Tk()
root.title("Tam Pepper Programming")
# size of window
root.geometry('350x150')
#Centre the Window
root.eval('tk::PlaceWindow . center')
def GetFile():
from tkinter import filedialog
filename = filedialog.askopenfilename(initialdir = "/home/pi/Pi4_Lan/WeatherData/",
title = "Select a File",
filetypes = (("Excel files",
"*.xlsx*"),
("all files",
"*.*")))
global pathTo
pathTo=str(filename)
print(pathTo)
global df
df=pd.read_excel(pathTo, 'Sheet1' )
def Last8():
print("Last8")
def Last24():
print("Last24")
def Last72():
print("Last72")
def But1():
Last8()
def But2():
Last24()
def But3():
Last72()
#QUIT program
def close_window():
root.destroy()
#Place the Buttons
b1=Button(text="Last 8 readings",command=But1)#react to button press
b1.place(x=30,y=10)#Position button
b2=Button(text="Last 24 hrs",command=But2)#react to button press
b2.place(x=150,y=10)#Position button
b3=Button(text="Last 72 Hrs",command=But3)#react to button press
b3.place(x=250,y=10)#Position button
#QUIT BUTTON
bQuit=Button(text="Quit",command=close_window)
bQuit.place(x=160,y=100)
GetFile()
root.mainloop
