well i got it working somehow.have attached it.can it be made more elegant
than my code?I have made a similar program for serial port instead of
reading from file it reads from serial port.What if the serial port stops
sending data,i want a GUI error message and control back.the other file has
also been attached(serial one which requires more help).Also i need to
create within this gui another entry which sends data the user enters as and
when he wants to,but the problem is while loop takes contol.
#!/usr/bin/env python

#This program will attempt to read a line from a file using a GUI

import pygtk
pygtk.require('2.0')
import gtk
import re



class Beta:
	
	f=open('/home/nipun/1.txt')
	vars = re.compile('^(\d+\.?\d*)a(\d+\.?\d*)b(\d+\.?\d*)c(\d+\.?\d*)d(.*)')

	#f is a pointer used to reference file

	
	def callback(self,widget,data=None):
		print "alpha"
		s=hello.f.readline()
		
		m = re.search(hello.vars, s) # Run the regexp on the packet
		var1 = m.group(1) # take out the values
		var2 = m.group(2)
		var3 = m.group(3)
		var4 = m.group(4)
		hello.entry.set_text(var1)
		hello.entry1.set_text(var2)
		hello.entry2.set_text(var3)
		hello.entry3.set_text(var4)
			
	def delete_event(self,widget,event,data=None):
		print "Delete event has occcured"
		gtk.main_quit()
		return False
		
	def __init__(self):
		self.window=gtk.Window(gtk.WINDOW_TOPLEVEL)
		self.window.set_title("File read GUI")
		self.window.connect("delete_event",self.delete_event)
		self.window.set_border_width(10)
		self.box1=gtk.HBox(False,0)
		self.window.add(self.box1)
		self.button=gtk.Button("Read a line")
		self.button.connect("clicked",self.callback)
		self.box1.pack_start(self.button,True,True,0)
		self.button.show()
		self.entry=gtk.Entry()
		self.entry1=gtk.Entry()
		self.entry2=gtk.Entry()
		self.entry3=gtk.Entry()
		self.box1.pack_start(self.entry,True,True,0)
		self.box1.pack_start(self.entry1,True,True,0)
		self.box1.pack_start(self.entry2,True,True,0)
		self.box1.pack_start(self.entry3,True,True,0)
		self.entry.show()
		self.entry1.show()
		self.entry2.show()
		self.entry3.show()
		self.box1.show()
		self.window.show()
		
	def main(self):
		gtk.main()
		
	
		
if __name__=="__main__":
	hello=Beta()
	hello.main()
	
#!/usr/bin/env python

#This program will attempt to read a line from a file using a GUI

import pygtk
pygtk.require('2.0')
import gtk
import re
import serial



class Beta:
	
	ser=serial.Serial()
	ser.port="/dev/ttyUSB0"
	ser.baudrate=9600
	ser.open()

	vars = re.compile('^(\d+\.?\d*)a(\d+\.?\d*)b(\d+\.?\d*)c(\d+\.?\d*)d(.*)')

	#f is a pointer used to reference file

	
	def callback(self,widget,data=None):
		
		print "alpha"
		i=0
		while i<3:
			s=hello.ser.readline()
			hello.ser.write("nipun\n")
			m = re.search(hello.vars, s) # Run the regexp on the packet
			var1 = m.group(1) # take out the values
			var2 = m.group(2)
			var3 = m.group(3)
			var4 = m.group(4)
			hello.entry.set_text(var1)
			hello.entry1.set_text(var2)
			hello.entry2.set_text(var3)
			hello.entry3.set_text(var4)
			hello.ser.write("nipun\n")
			i=i+1
	def delete_event(self,widget,event,data=None):
		print "Delete event has occcured"
		gtk.main_quit()
		return False
		
	def __init__(self):
		self.window=gtk.Window(gtk.WINDOW_TOPLEVEL)
		self.window.set_title("File read GUI")
		self.window.connect("delete_event",self.delete_event)
		self.window.set_border_width(10)
		self.box1=gtk.HBox(False,0)
		self.window.add(self.box1)
		self.button=gtk.Button("Read a line")
		self.button.connect("clicked",self.callback)
		self.box1.pack_start(self.button,True,True,0)
		self.button.show()
		self.entry=gtk.Entry()
		self.entry1=gtk.Entry()
		self.entry2=gtk.Entry()
		self.entry3=gtk.Entry()
		self.box1.pack_start(self.entry,True,True,0)
		self.box1.pack_start(self.entry1,True,True,0)
		self.box1.pack_start(self.entry2,True,True,0)
		self.box1.pack_start(self.entry3,True,True,0)
		self.entry.show()
		self.entry1.show()
		self.entry2.show()
		self.entry3.show()
		self.box1.show()
		self.window.show()
		
	def main(self):
		gtk.main()
		
	
		
if __name__=="__main__":
	hello=Beta()
	hello.main()
	
_______________________________________________
pygtk mailing list   [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://faq.pygtk.org/

Reply via email to