Код: Выделить всё
#!/usr/bin/python
# -*- coding: utf-8 -*-
import re
import pygtk
import gtk
from gladevcp.gladebuilder import GladeBuilder
import gladevcp
class Widgets:
def __init__(self, xml):
self._xml = xml
def __getattr__(self, attr):
r = self._xml.get_object(attr)
if r is None: raise AttributeError, "No widget %r" % attr
return r
def __getitem__(self, attr):
r = self._xml.get_object(attr)
if r is None: raise IndexError, "No widget %r" % attr
class Test:
def make (self, data=None):
self.d = {
1:self.widgets.entry1.get_text(),2:self.widgets.entry2.get_text(),
3:self.widgets.entry3.get_text(),4:self.widgets.entry4.get_text(),
5:self.widgets.entry5.get_text(),6:self.widgets.entry6.get_text(),
7:self.widgets.entry7.get_text(),8:self.widgets.entry8.get_text(),
9:self.widgets.entry9.get_text(),10:self.widgets.entry10.get_text(),
11:self.widgets.entry11.get_text(),12:self.widgets.entry12.get_text(),
13:self.widgets.entry13.get_text(),14:self.widgets.entry14.get_text()
}
for i in self.d.keys() :
try:
v = int(self.d.get(i))
except ValueError:
print "Вводите только цифры"
def finish (self, data=None):
f = open("/home/nkp/ngcgui.ngc", "w")
ser=' '
n=['o','<', self.name, '>','call', '\n','M2']
h=1
m=5
while h <= self.q:
n.insert(m, '[')
m+=1
n.insert(m, self.d.get(h))
m+=1
n.insert(m, ']')
h+=1
m+=1
print n
j=ser.join(n)
f.write(j)
f.close()
gtk.main_quit()
def __init__(self):
self.name='name'
self.builder = gtk.Builder()
self.builder.add_from_file("1.glade")
self.builder.connect_signals(self)
self.builder.get_object("window1").show()
self.widgets = Widgets(self.builder)
self.ent = [
self.widgets.entry1,self.widgets.entry2,
self.widgets.entry3,self.widgets.entry4,
self.widgets.entry5,self.widgets.entry6,
self.widgets.entry7,self.widgets.entry8,
self.widgets.entry9,self.widgets.entry10,
self.widgets.entry11,self.widgets.entry12,
self.widgets.entry13,self.widgets.entry14
]
self.ent1 = [
self.widgets.entry15,self.widgets.entry16,
self.widgets.entry17,self.widgets.entry18,
self.widgets.entry19,self.widgets.entry20,
self.widgets.entry21,self.widgets.entry22,
self.widgets.entry23,self.widgets.entry24,
self.widgets.entry25,self.widgets.entry26,
self.widgets.entry27,self.widgets.entry28
]
f = open("/home/nkp/emc2/nc_files/sfer.ngc", "r")
lines = f.readlines()
x=0
q=0
while x < len(lines):
if re.search("#\d+ *[(*]", lines[x]):
vel=re.findall('[(][=][-]?.?0?\d*[.]?\d*', lines[x])
#парсим комментарии
dat=re.findall('[(].+', lines[x])
dat1=re.findall('\s+.+', dat[0])
print dat1 ,'DATA'
self.ent1[q].set_text(dat1[0])
vel1=re.findall('[-]?\d+[.]?\d*', vel[0])
print vel1
if len(vel) != 0:
self.ent[q].set_text(vel1[0])
else:
self.ent[q].set_text('')
q+=1
x+=1
#скрываем незанятые поля
t=0
while t+q < 14 :
for r in self.ent :
w=self.ent[q+t]
w.hide()
t+=1
print q
tt=0
while tt+q < 14 :
for k in self.ent1 :
wd=self.ent1[q+tt]
wd.hide()
tt+=1
self.q=q
f.close()
if __name__ == "__main__":
main = Test()
gtk.main()