lambda funktioniert
This commit is contained in:
parent
5870ee5443
commit
5903922406
@ -56,12 +56,12 @@ def openfile(self, CCDplot):
|
|||||||
except IOError:
|
except IOError:
|
||||||
messagebox.showerror("By the great otter!","There's a problem opening the file.")
|
messagebox.showerror("By the great otter!","There's a problem opening the file.")
|
||||||
|
|
||||||
|
# lineterminator='\n' changed for use under windows jfs
|
||||||
def savefile(self):
|
def savefile(self):
|
||||||
filename = filedialog.asksaveasfilename(defaultextension=".dat", title="Save file as", parent=self)
|
filename = filedialog.asksaveasfilename(defaultextension=".dat", title="Save file as", parent=self)
|
||||||
try:
|
try:
|
||||||
with open(filename, mode='w') as csvfile:
|
with open(filename, mode='w') as csvfile:
|
||||||
writeCSV = csv.writer(csvfile, delimiter=' ')
|
writeCSV = csv.writer(csvfile, delimiter=' ',lineterminator='\n')
|
||||||
writeCSV.writerow(["#Data","from","the","TCD1304","linear","CCD"])
|
writeCSV.writerow(["#Data","from","the","TCD1304","linear","CCD"])
|
||||||
writeCSV.writerow(["#column","1","=","pixelnumber",",","column","2","=","pixelvalue"])
|
writeCSV.writerow(["#column","1","=","pixelnumber",",","column","2","=","pixelvalue"])
|
||||||
writeCSV.writerow(["#Pixel","1-32","and","3679-3694","and","are","dummy","pixels"])
|
writeCSV.writerow(["#Pixel","1-32","and","3679-3694","and","are","dummy","pixels"])
|
||||||
|
|||||||
@ -37,10 +37,10 @@ import CCDserial
|
|||||||
import CCDfiles
|
import CCDfiles
|
||||||
|
|
||||||
#jfs
|
#jfs
|
||||||
from JFSphoto import *
|
from JFSphoto import *
|
||||||
|
|
||||||
class buildpanel(tk.Frame):
|
class buildpanel(tk.Frame):
|
||||||
def __init__(self, master, CCDplot, SerQueue):
|
def __init__(self, master, CCDplot, SerQueue,JFSphoto):
|
||||||
#geometry-rows for packing the grid
|
#geometry-rows for packing the grid
|
||||||
device_row = 10
|
device_row = 10
|
||||||
shicg_row = 20
|
shicg_row = 20
|
||||||
@ -51,6 +51,7 @@ class buildpanel(tk.Frame):
|
|||||||
save_row = 70
|
save_row = 70
|
||||||
update_row = 80
|
update_row = 80
|
||||||
progress_var = tk.IntVar()
|
progress_var = tk.IntVar()
|
||||||
|
|
||||||
|
|
||||||
tk.Frame.__init__(self, master=None)
|
tk.Frame.__init__(self, master=None)
|
||||||
|
|
||||||
@ -73,8 +74,8 @@ class buildpanel(tk.Frame):
|
|||||||
self.saveopenfields(save_row, CCDplot)
|
self.saveopenfields(save_row, CCDplot)
|
||||||
self.updateplotfields(update_row, CCDplot)
|
self.updateplotfields(update_row, CCDplot)
|
||||||
#
|
#
|
||||||
self.jfsAddOns(CCDplot)
|
self.jfsAddOns(JFSphoto)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -221,19 +222,17 @@ class buildpanel(tk.Frame):
|
|||||||
#self.bupdate.grid(row=update_row, columnspan=3, sticky="EW", padx=5)
|
#self.bupdate.grid(row=update_row, columnspan=3, sticky="EW", padx=5)
|
||||||
|
|
||||||
|
|
||||||
def jfsAddOns(self,CCDplot):
|
#
|
||||||
|
#
|
||||||
|
def jfsAddOns(self,JFSphoto):
|
||||||
|
jfs = JFSphoto
|
||||||
self.jfstitel = tk.Label(self, text=' Photometer ',width=20)
|
self.jfstitel = tk.Label(self, text=' Photometer ',width=20)
|
||||||
self.jfstitel.config(font=("Courier",0))
|
self.jfstitel.config(font=("Courier",0))
|
||||||
self.jfstitel.grid(row=10,column=4)
|
self.jfstitel.grid(row=10,column=4)
|
||||||
self.jfs4nm = tk.Button(self,text='Choose Color',fg="darkgreen", command=jfs_test1)
|
self.jfs4nm = tk.Button(self,text='Choose Color',fg="darkgreen", command=jfs.test1)
|
||||||
self.jfs4nm.grid(row=20,column=4)
|
self.jfs4nm.grid(row=20,column=4)
|
||||||
|
|
||||||
### JfsCallbacks
|
|
||||||
def jfs4nmcallback(self):
|
|
||||||
print('Hi there')
|
|
||||||
#self.result = askcolor(color="#6A9662", title = "Bernd's Colour Chooser")
|
|
||||||
|
|
||||||
|
|
||||||
### Callbacks for traces, buttons, etc ###
|
### Callbacks for traces, buttons, etc ###
|
||||||
def callback(self):
|
def callback(self):
|
||||||
self.bopen.config(state=tk.DISABLED)
|
self.bopen.config(state=tk.DISABLED)
|
||||||
|
|||||||
110
JFSphoto.py
110
JFSphoto.py
@ -5,50 +5,82 @@ from tkinter import messagebox
|
|||||||
import tkinter as tk
|
import tkinter as tk
|
||||||
import csv
|
import csv
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
####################################### object
|
||||||
|
|
||||||
|
class Jfsphoto (object):
|
||||||
|
|
||||||
def jfs_test():
|
def __init__(self):
|
||||||
result = askcolor(color="#6A9662", title = "Bernd's Colour Chooser")
|
self.nm = 0
|
||||||
print (result)
|
self.nmi = 0
|
||||||
|
self.nm2 = 0
|
||||||
|
self.nm2i = 0
|
||||||
|
|
||||||
|
def test1(self):
|
||||||
|
win = tk.Toplevel()
|
||||||
|
win.geometry("400x200+30+30")
|
||||||
|
self.lab1 = tk.Label(win, text='please enter filenames and nm of the peaks').grid(row=0,column=0,columnspan=6)
|
||||||
|
########## first peak
|
||||||
|
self.tnm = tk.StringVar()
|
||||||
|
self.tnm.set(str(self.nm))
|
||||||
|
self.tnmi = tk.StringVar()
|
||||||
|
self.tnmi.set(str(self.nmi))
|
||||||
|
self.lab2 = tk.Label(win,text='first Peak nm').grid(row=1,column=0)
|
||||||
|
self.en1 = tk.Entry(win,textvariable=self.tnm, width= 10).grid(row=1,column=1)
|
||||||
|
self.bt1 = tk.Button(win,text="select File",command=lambda: self.openfile(1)).grid(row=1,column=2)
|
||||||
|
self.lnm = tk.Label(win,textvariable =self.tnm).grid(row=1,column=3)
|
||||||
|
self.lnm = tk.Label(win,text =" nm by index ").grid(row=1,column=4)
|
||||||
|
self.lmi = tk.Label(win,textvariable=self.tnmi).grid(row=1,column=5)
|
||||||
|
########## second peak
|
||||||
|
self.tnm2 = tk.StringVar()
|
||||||
|
self.tnm2.set(str(self.nm2))
|
||||||
|
self.tnm2i = tk.StringVar()
|
||||||
|
self.tnm2i.set(str(self.nm2i))
|
||||||
|
self.lab3 = tk.Label(win,text='second Peak nm').grid(row=2,column=0)
|
||||||
|
self.en2 = tk.Entry(win,textvariable=self.tnm2, width= 10).grid(row=2,column=1)
|
||||||
|
self.bt2 = tk.Button(win,text="select File",command=lambda: self.openfile(2)).grid(row=2,column=2)
|
||||||
|
self.lnm2 = tk.Label(win,textvariable =self.tnm2).grid(row=2,column=3)
|
||||||
|
self.lnm2 = tk.Label(win,text =" nm by index ").grid(row=2,column=4)
|
||||||
|
self.lm2i = tk.Label(win,textvariable=self.tnm2i).grid(row=2,column=5)
|
||||||
|
#a=tk.Label(win,text='Hi there')
|
||||||
|
#a.place(x=10,y=10,width=40,height=25)
|
||||||
|
#b=tk.Button(win,text='Ok then',command=win.destroy)
|
||||||
|
#b.place(x=60,y=10,width=60,height=25)
|
||||||
|
## modal
|
||||||
|
win.focus_set()
|
||||||
|
win.grab_set()
|
||||||
|
win.wait_window()
|
||||||
|
|
||||||
|
def checkit(self):
|
||||||
|
print(self.tnm.get())
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def info(self):
|
||||||
|
print(f'nm {self.nm} nmi {self.nmi}')
|
||||||
|
|
||||||
def jfs_test1():
|
def openfile(self,xx):
|
||||||
win = tk.Toplevel()
|
rxData16 = np.zeros(3694, np.uint16)
|
||||||
win.geometry("400x200+30+30")
|
filename = filedialog.askopenfilename(defaultextension=".dat", title="Open file")
|
||||||
lab1 = tk.Label(win, text='please enter filenames and nm of the peaks').grid(row=0,column=0,columnspan=2)
|
line_count = 0
|
||||||
lab2 = tk.Label(win,text='Peak nm').grid(row=1,column=0)
|
try:
|
||||||
en1 = tk.Entry(win).grid(row=1,column=1)
|
with open(filename) as csvfile:
|
||||||
bt1 = tk.Button(win,text="select File",command=openfile).grid(row=1,column=2)
|
readCSV = csv.reader(csvfile, delimiter=' ')
|
||||||
#a=tk.Label(win,text='Hi there')
|
|
||||||
#a.place(x=10,y=10,width=40,height=25)
|
|
||||||
#b=tk.Button(win,text='Ok then',command=win.destroy)
|
|
||||||
#b.place(x=60,y=10,width=60,height=25)
|
|
||||||
## modal
|
|
||||||
win.focus_set()
|
|
||||||
win.grab_set()
|
|
||||||
win.wait_window()
|
|
||||||
|
|
||||||
|
|
||||||
def openfile():
|
for row in readCSV:
|
||||||
rxData16 = np.zeros(3694, np.uint16)
|
if (line_count == 3):
|
||||||
filename = filedialog.askopenfilename(defaultextension=".dat", title="Open file")
|
self.SHsent = int(row[1])
|
||||||
line_count = 0
|
self.ICGsent = int(row[6])
|
||||||
try:
|
if (line_count > 3):
|
||||||
with open(filename) as csvfile:
|
rxData16[line_count-4] = int(row[1])
|
||||||
readCSV = csv.reader(csvfile, delimiter=' ')
|
line_count += 1
|
||||||
|
if (xx==1):
|
||||||
|
self.nmi = np.argmin(rxData16)
|
||||||
|
self.tnmi.set(str(self.nmi))
|
||||||
|
if (xx==2):
|
||||||
|
self.nm2i = np.argmin(rxData16)
|
||||||
|
self.tnm2i.set(str(self.nm2i))
|
||||||
|
self.checkit()
|
||||||
|
|
||||||
|
except IOError:
|
||||||
|
messagebox.showerror("By the great otter!","There's a problem opening the file.")
|
||||||
|
|
||||||
for row in readCSV:
|
|
||||||
if (line_count == 3):
|
|
||||||
SHsent = int(row[1])
|
|
||||||
ICGsent = int(row[6])
|
|
||||||
if (line_count > 3):
|
|
||||||
rxData16[line_count-4] = int(row[1])
|
|
||||||
line_count += 1
|
|
||||||
|
|
||||||
except IOError:
|
|
||||||
messagebox.showerror("By the great otter!","There's a problem opening the file.")
|
|
||||||
|
|
||||||
print(rxData16[12])
|
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -38,17 +38,16 @@ import CCDpanelsetup
|
|||||||
import CCDmenusetup
|
import CCDmenusetup
|
||||||
import CCDplots
|
import CCDplots
|
||||||
|
|
||||||
|
from JFSphoto import *
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
root = tk.Tk()
|
root = tk.Tk()
|
||||||
root.title("The Otter pyCCDGUI")
|
root.title("The Otter pyCCDGUI")
|
||||||
|
|
||||||
SerQueue = queue.Queue()
|
SerQueue = queue.Queue()
|
||||||
|
|
||||||
menu = CCDmenusetup.buildmenu(root)
|
menu = CCDmenusetup.buildmenu(root)
|
||||||
CCDplot = CCDplots.buildplot(root)
|
CCDplot = CCDplots.buildplot(root)
|
||||||
panel = CCDpanelsetup.buildpanel(root, CCDplot, SerQueue)
|
jfs =Jfsphoto()
|
||||||
|
panel = CCDpanelsetup.buildpanel(root, CCDplot, SerQueue,jfs)
|
||||||
panel.grid(row=0, column=2)
|
panel.grid(row=0, column=2)
|
||||||
|
|
||||||
root.mainloop()
|
root.mainloop()
|
||||||
|
|||||||
41
test_obj.py
Normal file
41
test_obj.py
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
|
||||||
|
#etwas zum üben zum Problem der classes in classes
|
||||||
|
|
||||||
|
class Mieter(object):
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
self.m =0
|
||||||
|
|
||||||
|
def set(self,i):
|
||||||
|
self.m = i
|
||||||
|
|
||||||
|
def get():
|
||||||
|
return self.m
|
||||||
|
|
||||||
|
class Room(object):
|
||||||
|
# note: class name is Capitalized
|
||||||
|
mx = Mieter
|
||||||
|
|
||||||
|
def __init__(self, number):
|
||||||
|
self.room_number = number
|
||||||
|
|
||||||
|
|
||||||
|
def get_room_num(self):
|
||||||
|
return self.room_number
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class House(object,Mieter):
|
||||||
|
|
||||||
|
def __init__(self, num_rooms,mieter):
|
||||||
|
self.rooms=[Room(i) for i in range(1,num_rooms+1)]
|
||||||
|
self.rooms.mx.set(1)
|
||||||
|
|
||||||
|
def __iter__(self):
|
||||||
|
return iter(self.rooms)
|
||||||
|
|
||||||
|
|
||||||
|
mansion = House(10,1)
|
||||||
|
|
||||||
|
for i in mansion:
|
||||||
|
print(i.get_room_num(),' ',i.mx)
|
||||||
Loading…
Reference in New Issue
Block a user