diff --git a/graphExample.py b/graphExample.py index cbb52fa..66d5423 100755 --- a/graphExample.py +++ b/graphExample.py @@ -227,13 +227,13 @@ class RIXSgrating(QWidget): l.addWidget(w, i+1, 1) - w=QtGui.QGroupBox("Drawing",self) + self._wdGrpDraw=w=QtGui.QGroupBox("Drawing",self) w.move(470,10) l=QtGui.QVBoxLayout(w) sld={} for key,rng,tk,pos in (('r1',(50,800),50,60),('r2',(50,800),50,80),('aa',(0,90),5,20),('bb',(0,90),5,20),('cc',(0,180),5,40),): - sl=QtGui.QSlider(QtCore.Qt.Horizontal) + sl=QtGui.QSlider(QtCore.Qt.Horizontal,objectName=key) sl.setFixedWidth(200);sl.setMinimum(rng[0]);sl.setMaximum(rng[1]) sl.setValue(self._param[key]) sl.setTickPosition(QtGui.QSlider.TicksBelow);sl.setTickInterval(tk) @@ -293,15 +293,23 @@ class RIXSgrating(QWidget): p['bb']=(90-geo['bb'])*5 p['cc']=(90-geo['cc']) - wGeo=self._wdGrpGeometry + grp=self._wdGrpDraw + for k,v in p.items(): + w=grp.findChild(QtGui.QSlider, k) + if w is not None: + w.blockSignals(True) + w.setValue(int(v)) + w.blockSignals(False) + + grp=self._wdGrpGeometry for k,v in geo.items(): - w=wGeo.findChild(QtGui.QLineEdit, k) + w=grp.findChild(QtGui.QLineEdit, k) w.setText(f'{v:.6g}') self._vlsg_raw=raw=vlsg.geometry2raw(**geo) - wRaw=self._wdGrpRaw + grp=self._wdGrpRaw for k,v in raw.items(): - w=wRaw.findChild(QtGui.QLineEdit, k) + w=grp.findChild(QtGui.QLineEdit, k) if v is None: w.setText('(null)') else: @@ -310,13 +318,12 @@ class RIXSgrating(QWidget): def sldChanged(self,key,val,*args,**kwargs): #print(key,val) + try: + self._vlsg_geo + except AttributeError: + pass p=self._param - if key=='energy': - self.setEnergy(val) - else: - p[key]=val - if 'geo' in p: - del p['geo'] + p[key]=val self.update() def btnMoveAllMotors(self): @@ -362,6 +369,7 @@ class RIXSgrating(QWidget): ctr=p['ctr'] qp = QPainter() qp.begin(self) + qp.setRenderHints(QPainter.HighQualityAntialiasing) #plot black background w=int(max(szG[0],szD[0])/2)