本文整理汇总了Python中valslider.ValSlider.setValue方法的典型用法代码示例。如果您正苦于以下问题:Python ValSlider.setValue方法的具体用法?Python ValSlider.setValue怎么用?Python ValSlider.setValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类valslider.ValSlider
的用法示例。
在下文中一共展示了ValSlider.setValue方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from valslider import ValSlider [as 别名]
# 或者: from valslider.ValSlider import setValue [as 别名]
class ErasingPanel: # copied for ideas for the morph panel
def __init__(self,target,erase_radius=128):
self.busy = True
self.erase_radius = erase_radius
self.target = weakref.ref(target)
self.erase_rad_edit = None
self.widget = None
self.busy = False
def set_erase_radius(self, erase_rad_edit):
self.busy=True
self.erase_radius = erase_rad_edit
if self.erase_rad_edit != None: self.erase_rad_edit.setValue(erase_rad_edit)
self.busy=False
def get_widget(self):
if self.widget == None:
from PyQt4 import QtCore, QtGui, Qt
self.widget = QtGui.QWidget()
vbl = QtGui.QVBoxLayout(self.widget)
vbl.setMargin(0)
vbl.setSpacing(6)
vbl.setObjectName("vbl")
hbl = QtGui.QHBoxLayout()
hbl.addWidget(QtGui.QLabel("Erase Radius:"))
from valslider import ValSlider
self.erase_rad_edit = ValSlider(None,(0.0,1000.0),"")
self.erase_rad_edit.setValue(int(self.erase_radius))
self.erase_rad_edit.setEnabled(True)
hbl.addWidget(self.erase_rad_edit)
self.unerase = QtGui.QCheckBox("Unerase")
self.unerase.setChecked(False)
vbl.addLayout(hbl)
vbl.addWidget(self.unerase)
QtCore.QObject.connect(self.erase_rad_edit,QtCore.SIGNAL("sliderReleased"),self.new_erase_radius)
QtCore.QObject.connect(self.unerase,QtCore.SIGNAL("clicked(bool)"),self.unerase_checked)
return self.widget
def new_erase_radius(self, erase_rad_edit):
if self.busy: return
self.target().set_erase_radius(erase_rad_edit)
def unerase_checked(self,val):
if self.busy: return
self.target().toggle_unerase(val)
示例2: __init__
# 需要导入模块: from valslider import ValSlider [as 别名]
# 或者: from valslider.ValSlider import setValue [as 别名]
class EMTransformPanel:
def __init__(self,target,parent):
self.target = weakref.ref(target)
self.parent = weakref.ref(parent)
self.label_src = QtGui.QLabel(parent)
self.label_src.setText('Rotation Convention')
self.src = QtGui.QComboBox(parent)
self.load_src_options(self.src)
self.x_label = QtGui.QLabel()
self.x_label.setText('x')
self.x_trans = QtGui.QDoubleSpinBox(parent)
self.x_trans.setMinimum(-10000)
self.x_trans.setMaximum(10000)
self.x_trans.setValue(0.0)
self.y_label = QtGui.QLabel()
self.y_label.setText('y')
self.y_trans = QtGui.QDoubleSpinBox(parent)
self.y_trans.setMinimum(-10000)
self.y_trans.setMaximum(10000)
self.y_trans.setValue(0.0)
self.z_label = QtGui.QLabel()
self.z_label.setText('z')
self.z_trans = QtGui.QDoubleSpinBox(parent)
self.z_trans.setMinimum(-10000)
self.z_trans.setMaximum(10000)
self.z_trans.setValue(0.0)
self.az = ValSlider(parent,(-360.0,360.0),"az",-1)
self.az.setObjectName("az")
self.az.setValue(0.0)
self.alt = ValSlider(parent,(-180.0,180.0),"alt",-1)
self.alt.setObjectName("alt")
self.alt.setValue(0.0)
self.phi = ValSlider(parent,(-360.0,360.0),"phi",-1)
self.phi.setObjectName("phi")
self.phi.setValue(0.0)
self.scale = ValSlider(parent,(0.01,30.0),"Zoom:")
self.scale.setObjectName("scale")
self.scale.setValue(1.0)
self.n3_showing = False
self.current_src = "eman"
QtCore.QObject.connect(self.az, QtCore.SIGNAL("valueChanged"), self.slider_rotate)
QtCore.QObject.connect(self.alt, QtCore.SIGNAL("valueChanged"), self.slider_rotate)
QtCore.QObject.connect(self.phi, QtCore.SIGNAL("valueChanged"), self.slider_rotate)
QtCore.QObject.connect(self.src, QtCore.SIGNAL("currentIndexChanged(QString)"), self.set_src)
QtCore.QObject.connect(self.scale, QtCore.SIGNAL("valueChanged"), self.target().set_scale)
QtCore.QObject.connect(self.x_trans, QtCore.SIGNAL("valueChanged(double)"), self.target().set_cam_x)
QtCore.QObject.connect(self.y_trans, QtCore.SIGNAL("valueChanged(double)"), self.target().set_cam_y)
QtCore.QObject.connect(self.z_trans, QtCore.SIGNAL("valueChanged(double)"), self.target().set_cam_z)
def set_defaults(self):
self.x_trans.setValue(0.0)
self.y_trans.setValue(0.0)
self.z_trans.setValue(0.0)
self.scale.setValue(1.0)
self.az.setValue(0.0)
self.alt.setValue(0.0)
self.phi.setValue(0.0)
def slider_rotate(self):
self.target().load_rotation(self.get_current_rotation())
def get_current_rotation(self):
convention = self.src.currentText()
rot = {}
if ( self.current_src == "spin" ):
rot[self.az.getLabel()] = self.az.getValue()
n1 = self.alt.getValue()
n2 = self.phi.getValue()
n3 = self.n3.getValue()
norm = sqrt(n1*n1 + n2*n2 + n3*n3)
n1 /= norm
n2 /= norm
n3 /= norm
rot[self.alt.getLabel()] = n1
rot[self.phi.getLabel()] = n2
rot[self.n3.getLabel()] = n3
else:
rot[self.az.getLabel()] = self.az.getValue()
rot[self.alt.getLabel()] = self.alt.getValue()
#.........这里部分代码省略.........
示例3: EMGLPlotInspector
# 需要导入模块: from valslider import ValSlider [as 别名]
# 或者: from valslider.ValSlider import setValue [as 别名]
class EMGLPlotInspector(QtGui.QWidget):
def __init__(self,target) :
QtGui.QWidget.__init__(self,None)
self.target=target
self.vbl = QtGui.QVBoxLayout(self)
self.vbl.setMargin(0)
self.vbl.setSpacing(6)
self.vbl.setObjectName("vbl")
self.hbl = QtGui.QHBoxLayout()
self.hbl.setMargin(0)
self.hbl.setSpacing(6)
self.hbl.setObjectName("hbl")
self.vbl.addLayout(self.hbl)
self.hist = ImgHistogram(self)
self.hist.setObjectName("hist")
self.hbl.addWidget(self.hist)
self.vbl2 = QtGui.QVBoxLayout()
self.vbl2.setMargin(0)
self.vbl2.setSpacing(6)
self.vbl2.setObjectName("vbl2")
self.hbl.addLayout(self.vbl2)
self.wiretog = QtGui.QPushButton("Wire")
self.wiretog.setCheckable(1)
self.vbl2.addWidget(self.wiretog)
self.lighttog = QtGui.QPushButton("Light")
self.lighttog.setCheckable(1)
self.vbl2.addWidget(self.lighttog)
self.tabwidget = QtGui.QTabWidget()
self.maintab = None
self.tabwidget.addTab(self.get_main_tab(), "Main")
self.tabwidget.addTab(self.get_GL_tab(),"GL")
self.vbl.addWidget(self.tabwidget)
self.n3_showing = False
QtCore.QObject.connect(self.scale, QtCore.SIGNAL("valueChanged"), target.set_scale)
QtCore.QObject.connect(self.az, QtCore.SIGNAL("valueChanged"), self.slider_rotate)
QtCore.QObject.connect(self.alt, QtCore.SIGNAL("valueChanged"), self.slider_rotate)
QtCore.QObject.connect(self.phi, QtCore.SIGNAL("valueChanged"), self.slider_rotate)
QtCore.QObject.connect(self.cbb, QtCore.SIGNAL("currentIndexChanged(QString)"), target.setColor)
QtCore.QObject.connect(self.src, QtCore.SIGNAL("currentIndexChanged(QString)"), self.set_src)
QtCore.QObject.connect(self.x_trans, QtCore.SIGNAL("valueChanged(double)"), target.set_cam_x)
QtCore.QObject.connect(self.y_trans, QtCore.SIGNAL("valueChanged(double)"), target.set_cam_y)
QtCore.QObject.connect(self.z_trans, QtCore.SIGNAL("valueChanged(double)"), target.set_cam_z)
QtCore.QObject.connect(self.wiretog, QtCore.SIGNAL("toggled(bool)"), target.toggle_wire)
QtCore.QObject.connect(self.lighttog, QtCore.SIGNAL("toggled(bool)"), target.toggle_light)
QtCore.QObject.connect(self.glcontrast, QtCore.SIGNAL("valueChanged"), target.set_GL_contrast)
QtCore.QObject.connect(self.glbrightness, QtCore.SIGNAL("valueChanged"), target.set_GL_brightness)
def get_GL_tab(self):
self.gltab = QtGui.QWidget()
gltab = self.gltab
gltab.vbl = QtGui.QVBoxLayout(self.gltab )
gltab.vbl.setMargin(0)
gltab.vbl.setSpacing(6)
gltab.vbl.setObjectName("Main")
self.glcontrast = ValSlider(gltab,(1.0,5.0),"GLShd:")
self.glcontrast.setObjectName("GLShade")
self.glcontrast.setValue(1.0)
gltab.vbl.addWidget(self.glcontrast)
self.glbrightness = ValSlider(gltab,(-1.0,0.0),"GLBst:")
self.glbrightness.setObjectName("GLBoost")
self.glbrightness.setValue(0.1)
self.glbrightness.setValue(0.0)
gltab.vbl.addWidget(self.glbrightness)
return gltab
def get_main_tab(self):
if ( self.maintab == None ):
self.maintab = QtGui.QWidget()
maintab = self.maintab
maintab.vbl = QtGui.QVBoxLayout(self.maintab)
maintab.vbl.setMargin(0)
maintab.vbl.setSpacing(6)
maintab.vbl.setObjectName("Main")
self.scale = ValSlider(maintab,(0.01,30.0),"Zoom:")
self.scale.setObjectName("scale")
self.scale.setValue(1.0)
maintab.vbl.addWidget(self.scale)
self.hbl_color = QtGui.QHBoxLayout()
self.hbl_color.setMargin(0)
self.hbl_color.setSpacing(6)
self.hbl_color.setObjectName("Material")
maintab.vbl.addLayout(self.hbl_color)
self.color_label = QtGui.QLabel()
self.color_label.setText('Material')
self.hbl_color.addWidget(self.color_label)
#.........这里部分代码省略.........
示例4: GUIctfsim
# 需要导入模块: from valslider import ValSlider [as 别名]
# 或者: from valslider.ValSlider import setValue [as 别名]
#.........这里部分代码省略.........
self.on_new_but()
QtCore.QObject.connect(self.sdefocus, QtCore.SIGNAL("valueChanged"), self.newCTF)
QtCore.QObject.connect(self.sbfactor, QtCore.SIGNAL("valueChanged"), self.newCTF)
QtCore.QObject.connect(self.sdfdiff, QtCore.SIGNAL("valueChanged"), self.newCTF)
QtCore.QObject.connect(self.sdfang, QtCore.SIGNAL("valueChanged"), self.newCTF)
QtCore.QObject.connect(self.sapix, QtCore.SIGNAL("valueChanged"), self.newCTF)
QtCore.QObject.connect(self.sampcont, QtCore.SIGNAL("valueChanged"), self.newCTF)
QtCore.QObject.connect(self.svoltage, QtCore.SIGNAL("valueChanged"), self.newCTF)
QtCore.QObject.connect(self.scs, QtCore.SIGNAL("valueChanged"), self.newCTF)
QtCore.QObject.connect(self.ssamples, QtCore.SIGNAL("valueChanged"), self.newCTF)
QtCore.QObject.connect(self.setlist,QtCore.SIGNAL("currentRowChanged(int)"),self.newSet)
QtCore.QObject.connect(self.setlist,QtCore.SIGNAL("keypress"),self.listkey)
QtCore.QObject.connect(self.splotmode,QtCore.SIGNAL("currentIndexChanged(int)"),self.newPlotMode)
QtCore.QObject.connect(self.newbut,QtCore.SIGNAL("clicked(bool)"),self.on_new_but)
self.resize(720,380) # figured these values out by printing the width and height in resize event
E2loadappwin("e2ctfsim","main",self)
E2loadappwin("e2ctfsim","image",self.guiim.qt_parent)
# E2loadappwin("e2ctf","realimage",self.guirealim.qt_parent)
E2loadappwin("e2ctfsim","plot",self.guiplot.qt_parent)
self.setWindowTitle("CTF")
def listkey(self,event):
if event.key()>=Qt.Key_0 and event.key()<=Qt.Key_9 :
q=int(event.key())-Qt.Key_0
self.squality.setValue(q)
elif event.key() == Qt.Key_Left:
self.sdefocus.setValue(self.sdefocus.getValue()-0.01)
elif event.key() == Qt.Key_Right:
self.sdefocus.setValue(self.sdefocus.getValue()+0.01)
elif event.key()==Qt.Key_R :
self.on_recall_params()
def on_new_but(self):
ctf=EMAN2Ctf()
ctf.defocus=1.0
ctf.voltage=self.df_voltage
ctf.apix=self.df_apix
ctf.cs=self.df_cs
ctf.ac=self.df_ac
ctf.samples=self.df_samples
self.data.append((str(len(self.setlist)+1),ctf))
self.curset=len(self.data)
self.update_data()
def show_guis(self):
if self.guiim != None:
self.app().show_specific(self.guiim)
if self.guiplot != None:
self.app().show_specific(self.guiplot)
#if self.guirealim != None:
#self.app().show_specific(self.guirealim)
self.show()
def closeEvent(self,event):
# QtGui.QWidget.closeEvent(self,event)
示例5: EM3DSliceInspector
# 需要导入模块: from valslider import ValSlider [as 别名]
# 或者: from valslider.ValSlider import setValue [as 别名]
class EM3DSliceInspector(QtGui.QWidget):
def __init__(self,target) :
self.busy = False
QtGui.QWidget.__init__(self,None)
self.setWindowIcon(QtGui.QIcon(get_image_directory() +"desktop.png"))
self.transform_panel = EMTransformPanel(target,self)
self.target=weakref.ref(target)
self.vbl = QtGui.QVBoxLayout(self)
self.vbl.setMargin(0)
self.vbl.setSpacing(6)
self.vbl.setObjectName("vbl")
self.hbl = QtGui.QHBoxLayout()
self.hbl.setMargin(0)
self.hbl.setSpacing(6)
self.hbl.setObjectName("hbl")
self.vbl.addLayout(self.hbl)
self.hist = ImgHistogram(self)
self.hist.setObjectName("hist")
self.hbl.addWidget(self.hist)
self.vbl2 = QtGui.QVBoxLayout()
self.vbl2.setMargin(0)
self.vbl2.setSpacing(6)
self.vbl2.setObjectName("vbl2")
self.hbl.addLayout(self.vbl2)
self.cubetog = QtGui.QPushButton("Cube")
self.cubetog.setCheckable(1)
self.vbl2.addWidget(self.cubetog)
self.defaults = QtGui.QPushButton("Defaults")
self.vbl2.addWidget(self.defaults)
self.vbl.addWidget(self.get_main_tab())
self.n3_showing = False
# self.current_src = EULER_EMAN
QtCore.QObject.connect(self.slice, QtCore.SIGNAL("valueChanged"), target.set_slice)
QtCore.QObject.connect(self.glcontrast, QtCore.SIGNAL("valueChanged"), target.set_GL_contrast)
QtCore.QObject.connect(self.glbrightness, QtCore.SIGNAL("valueChanged"), target.set_GL_brightness)
QtCore.QObject.connect(self.axisCombo, QtCore.SIGNAL("currentIndexChanged(QString)"), target.setAxis)
QtCore.QObject.connect(self.cubetog, QtCore.SIGNAL("toggled(bool)"), target.toggle_cube)
QtCore.QObject.connect(self.defaults, QtCore.SIGNAL("clicked(bool)"), self.set_defaults)
QtCore.QObject.connect(self.contrast, QtCore.SIGNAL("valueChanged"), self.on_contrast_changed)
QtCore.QObject.connect(self.bright, QtCore.SIGNAL("valueChanged"), self.on_brightness_changed)
def on_contrast_changed(self,val):
if self.busy: return
self.target().set_contrast(val)
def on_brightness_changed(self,val):
if self.busy: return
self.target().set_brightness(val)
def set_contrast_bright(self,c,b):
self.busy = True
self.contrast.setValue(c)
self.bright.setValue(b)
self.busy = False
def update_rotations(self,t3d):
self.transform_panel.update_rotations(t3d)
def set_scale(self,val):
self.transform_panel.set_scale(val)
def set_xy_trans(self, x, y):
self.transform_panel.set_xy_trans(x,y)
def set_xyz_trans(self,x,y,z):
self.transform_panel.set_xyz_trans(x,y,z)
def get_transform_layout(self):
return self.maintab.vbl
def set_defaults(self):
self.target().set_default_contrast_settings()
self.set_contrast_bright(self.target().contrast,self.target().bright)
self.glcontrast.setValue(1.0)
self.glbrightness.setValue(0.0)
self.transform_panel.set_defaults()
self.target().generate_current_display_list()
self.target().updateGL()
def get_main_tab(self):
self.maintab = QtGui.QWidget()
maintab = self.maintab
maintab.vbl = QtGui.QVBoxLayout(self.maintab)
maintab.vbl.setMargin(0)
maintab.vbl.setSpacing(6)
maintab.vbl.setObjectName("Main")
self.hbl_slice = QtGui.QHBoxLayout()
self.hbl_slice.setMargin(0)
#.........这里部分代码省略.........
示例6: GUIctf
# 需要导入模块: from valslider import ValSlider [as 别名]
# 或者: from valslider.ValSlider import setValue [as 别名]
#.........这里部分代码省略.........
#rto+=fit[i]**2
#nrto+=bgsub[i]**2
rto+=fit[i]
nrto+=fabs(bgsub[i])
if nrto==0 : rto=1.0
else : rto/=nrto
fit=[fit[i]/rto for i in range(len(s))]
self.guiplot.set_data((s,fit),"fit")
self.guiplot.setAxisParms("s (1/A)","Intensity (a.u)")
elif self.plotmode==2:
snr=ctf.compute_1d(len(s)*2,ds,Ctf.CtfType.CTF_SNR) # The snr curve
self.guiplot.set_data((s,snr[:len(s)]),"snr",True)
self.guiplot.setAxisParms("s (1/A)","SNR (intensity ratio)")
elif self.plotmode==3:
snr=ctf.compute_1d(len(s)*2,ds,Ctf.CtfType.CTF_SNR) # The snr curve
self.guiplot.set_data((s,snr[:len(s)]),"snr",True)
ssnr=ctf.compute_1d(len(s)*2,ds,Ctf.CtfType.CTF_SNR_SMOOTH) # The fit curve
self.guiplot.set_data((s,ssnr[:len(s)]),"ssnr")
self.guiplot.setAxisParms("s (1/A)","SNR (intensity ratio)")
elif self.plotmode==4:
snr=ctf.compute_1d(len(s)*2,ds,Ctf.CtfType.CTF_SNR) # The snr curve
for i in range(1,len(snr)): snr[i]=snr[i]*i+snr[i-1] # integrate SNR*s
# for i in range(1,len(snr)): snr[i]/=snr[-1] # normalize
for i in range(1,len(snr)): snr[i]/=len(snr) # this way the relative quality of images can be compared
self.guiplot.set_data((s,snr[:len(s)]),"snr",True)
self.guiplot.setAxisParms("s (1/A)","Integrated SNR")
elif self.plotmode==5:
inten=[fabs(i) for i in ctf.compute_1d(len(s)*2,ds,Ctf.CtfType.CTF_AMP)] # The snr curve
self.guiplot.set_data((s,inten[:len(s)]),"single",True)
all=[0 for i in inten]
for st in self.data:
print st
inten=[fabs(i) for i in st[1].compute_1d(len(s)*2,ds,Ctf.CtfType.CTF_AMP)]
for i in range(len(all)): all[i]+=inten[i]
self.guiplot.set_data((s,all[:len(s)]),"total")
#bgsub=[self.data[val][2][i]-self.data[val][3][i] for i in range(len(self.data[val][2]))]
#self.guiplot.set_data("fg-bg",(s,bgsub),True,True)
#fit=[bgsub[i]/sfact(s[i]) for i in range(len(s))] # squared * a generic structure factor
#self.guiplot.set_data("fit",(s,fit))
def newSet(self,val):
"called when a new data set is selected from the list"
self.curset=val
self.sdefocus.setValue(self.data[val][1].defocus,True)
self.sbfactor.setValue(self.data[val][1].bfactor,True)
# self.sapix.setValue(self.data[val][1].apix)
self.sampcont.setValue(self.data[val][1].ampcont,True)
self.svoltage.setValue(self.data[val][1].voltage,True)
self.scs.setValue(self.data[val][1].cs,True)
self.guiim.set_data(self.data[val][4])
self.update_plot()
def newPlotMode(self,mode):
self.plotmode=mode
self.update_plot()
def newCTF(self) :
self.data[self.curset][1].defocus=self.sdefocus.value
self.data[self.curset][1].bfactor=self.sbfactor.value
# self.data[self.curset][1].apix=self.sapix.value
self.data[self.curset][1].ampcont=self.sampcont.value
self.data[self.curset][1].voltage=self.svoltage.value
self.data[self.curset][1].cs=self.scs.value
self.update_plot()
def imgmousedown(self,event) :
m=self.guiim.scr_to_img((event.x(),event.y()))
#self.guiim.add_shape("cen",["rect",.9,.9,.4,x0,y0,x0+2,y0+2,1.0])
def imgmousedrag(self,event) :
m=self.guiim.scr_to_img((event.x(),event.y()))
# box deletion when shift held down
#if event.modifiers()&Qt.ShiftModifier:
#for i,j in enumerate(self.boxes):
def imgmouseup(self,event) :
m=self.guiim.scr_to_img((event.x(),event.y()))
def plotmousedown(self,event) :
m=self.guiim.scr_to_img((event.x(),event.y()))
def run(self):
"""If you make your own application outside of this object, you are free to use
your own local app.exec_(). This is a convenience for ctf-only programs."""
self.app.exec_()
# E2saveappwin("boxer","imagegeom",self.guiim)
# try:
# E2setappval("boxer","imcontrol",self.guiim.inspector.isVisible())
# if self.guiim.inspector.isVisible() : E2saveappwin("boxer","imcontrolgeom",self.guiim.inspector)
# except : E2setappval("boxer","imcontrol",False)
return
示例7: EMIsoInspector
# 需要导入模块: from valslider import ValSlider [as 别名]
# 或者: from valslider.ValSlider import setValue [as 别名]
#.........这里部分代码省略.........
def set_scale(self,val):
self.rotation_sliders.set_scale(val)
def set_xy_trans(self, x, y):
self.rotation_sliders.set_xy_trans(x,y)
def set_xyz_trans(self,x,y,z):
self.rotation_sliders.set_xyz_trans(x,y,z)
def get_transform_layout(self):
return self.maintab.vbl
def update_material(self):
self.target().isocolor = "custom"
custom = {}
custom["ambient"] = [self.ambient_tab.r.getValue(), self.ambient_tab.g.getValue(), self.ambient_tab.b.getValue(),1.0]
custom["diffuse"] = [self.diffuse_tab.r.getValue(), self.diffuse_tab.g.getValue(), self.diffuse_tab.b.getValue(),1.0]
custom["specular"] = [self.specular_tab.r.getValue(), self.specular_tab.g.getValue(), self.specular_tab.b.getValue(),1.0]
custom["emission"] = [self.emission_tab.r.getValue(), self.emission_tab.g.getValue(), self.emission_tab.b.getValue(),1.0]
custom["shininess"] = self.shininess.getValue()
self.target().colors["custom"] = custom
n = self.cbb.findText(QtCore.QString("custom"))
if n < 0: return
self.cbb.setCurrentIndex(n)
self.target().updateGL()
def set_material(self,color):
self.target().set_material(color)
material = self.target().get_material()
self.ambient_tab.r.setValue(material["ambient"][0])
self.ambient_tab.g.setValue(material["ambient"][1])
self.ambient_tab.b.setValue(material["ambient"][2])
self.diffuse_tab.r.setValue(material["diffuse"][0])
self.diffuse_tab.g.setValue(material["diffuse"][1])
self.diffuse_tab.b.setValue(material["diffuse"][2])
self.specular_tab.r.setValue(material["specular"][0])
self.specular_tab.g.setValue(material["specular"][1])
self.specular_tab.b.setValue(material["specular"][2])
self.emission_tab.r.setValue(material["emission"][0])
self.emission_tab.g.setValue(material["emission"][1])
self.emission_tab.b.setValue(material["emission"][2])
self.shininess.setValue(material["shininess"])
def get_RGB_tab(self, name=""):
return get_RGB_tab(self,name)
#rgbtab = QtGui.QWidget(self)
#rgbtab.vbl = QtGui.QVBoxLayout(rgbtab)
#rgbtab.vbl.setMargin(0)
#rgbtab.vbl.setSpacing(6)
#rgbtab.vbl.setObjectName(name)
#rgbtab.r = ValSlider(rgbtab,(0.0,1.0),"R:")
#rgbtab.r.setObjectName("R")
#rgbtab.r.setValue(0.5)
#rgbtab.vbl.addWidget(rgbtab.r)
#rgbtab.g = ValSlider(rgbtab,(0.0,1.0),"G:")
#rgbtab.g.setObjectName("G")
示例8: EMVolumeInspector
# 需要导入模块: from valslider import ValSlider [as 别名]
# 或者: from valslider.ValSlider import setValue [as 别名]
class EMVolumeInspector(QtGui.QWidget):
def __init__(self,target) :
QtGui.QWidget.__init__(self,None)
self.target=weakref.ref(target)
self.setWindowIcon(QtGui.QIcon(get_image_directory() +"desktop.png"))
self.rotation_sliders = EMTransformPanel(target,self)
self.vbl = QtGui.QVBoxLayout(self)
self.vbl.setMargin(0)
self.vbl.setSpacing(6)
self.vbl.setObjectName("vbl")
self.hbl = QtGui.QHBoxLayout()
self.hbl.setMargin(0)
self.hbl.setSpacing(6)
self.hbl.setObjectName("hbl")
self.vbl.addLayout(self.hbl)
self.hist = ImgHistogram(self)
self.hist.setObjectName("hist")
self.hbl.addWidget(self.hist)
self.vbl2 = QtGui.QVBoxLayout()
self.vbl2.setMargin(0)
self.vbl2.setSpacing(6)
self.vbl2.setObjectName("vbl2")
self.hbl.addLayout(self.vbl2)
self.cubetog = QtGui.QPushButton("Cube")
self.cubetog.setCheckable(1)
self.vbl2.addWidget(self.cubetog)
self.defaults = QtGui.QPushButton("Defaults")
self.vbl2.addWidget(self.defaults)
self.tabwidget = QtGui.QTabWidget()
self.tabwidget.addTab(self.get_main_tab(), "Main")
self.tabwidget.addTab(self.get_GL_tab(),"GL")
self.vbl.addWidget(self.tabwidget)
self.n3_showing = False
QtCore.QObject.connect(self.contrast, QtCore.SIGNAL("valueChanged"), target.set_contrast)
QtCore.QObject.connect(self.glcontrast, QtCore.SIGNAL("valueChanged"), target.set_GL_contrast)
QtCore.QObject.connect(self.glbrightness, QtCore.SIGNAL("valueChanged"), target.set_GL_brightness)
QtCore.QObject.connect(self.bright, QtCore.SIGNAL("valueChanged"), target.set_brightness)
QtCore.QObject.connect(self.cubetog, QtCore.SIGNAL("toggled(bool)"), target.toggle_cube)
QtCore.QObject.connect(self.defaults, QtCore.SIGNAL("clicked(bool)"), self.set_defaults)
QtCore.QObject.connect(self.smp, QtCore.SIGNAL("valueChanged(int)"), target.set_texture_sample)
def update_rotations(self,t3d):
self.rotation_sliders.update_rotations(t3d)
def set_scale(self,val):
self.rotation_sliders.set_scale(val)
def set_xy_trans(self, x, y):
self.rotation_sliders.set_xy_trans(x,y)
def set_xyz_trans(self,x,y,z):
self.rotation_sliders.set_xyz_trans(x,y,z)
def get_transform_layout(self):
return self.maintab.vbl
def get_GL_tab(self):
self.gltab = QtGui.QWidget()
gltab = self.gltab
gltab.vbl = QtGui.QVBoxLayout(self.gltab )
gltab.vbl.setMargin(0)
gltab.vbl.setSpacing(6)
gltab.vbl.setObjectName("Main")
self.glcontrast = ValSlider(gltab,(1.0,5.0),"GLShd:")
self.glcontrast.setObjectName("GLShade")
self.glcontrast.setValue(1.0)
gltab.vbl.addWidget(self.glcontrast)
self.glbrightness = ValSlider(gltab,(-1.0,0.0),"GLBst:")
self.glbrightness.setObjectName("GLBoost")
self.glbrightness.setValue(0.1)
self.glbrightness.setValue(0.0)
gltab.vbl.addWidget(self.glbrightness)
return gltab
def get_main_tab(self):
self.maintab = QtGui.QWidget()
maintab = self.maintab
maintab.vbl = QtGui.QVBoxLayout(self.maintab)
maintab.vbl.setMargin(0)
maintab.vbl.setSpacing(6)
maintab.vbl.setObjectName("Main")
self.contrast = ValSlider(maintab,(0.0,20.0),"Cont:")
self.contrast.setObjectName("contrast")
#.........这里部分代码省略.........
示例9: EMFontInspector
# 需要导入模块: from valslider import ValSlider [as 别名]
# 或者: from valslider.ValSlider import setValue [as 别名]
#.........这里部分代码省略.........
d["Polygon"] = FTGLFontMode.POLYGON
d["Outline"] = FTGLFontMode.OUTLINE
d["Texture"] = FTGLFontMode.TEXTURE
self.target().font_renderer.set_font_mode(d[str(mode)])
if mode == "Extrude":
self.length.setEnabled(True)
else:
self.length.setEnabled(False)
self.target().updateGL()
def update_rotations(self,t3d):
self.transform_panel.update_rotations(t3d)
def set_scale(self,val):
self.transform_panel.set_scale(val)
def set_xy_trans(self, x, y):
self.transform_panel.set_xy_trans(x,y)
def set_xyz_trans(self,x,y,z):
self.transform_panel.set_xyz_trans(x,y,z)
def get_GL_tab(self):
self.gltab = QtGui.QWidget()
gltab = self.gltab
gltab.vbl = QtGui.QVBoxLayout(self.gltab)
gltab.vbl.setMargin(0)
gltab.vbl.setSpacing(6)
gltab.vbl.setObjectName("Main")
self.glcontrast = ValSlider(gltab,(1.0,5.0),"GLShd:")
self.glcontrast.setObjectName("GLShade")
self.glcontrast.setValue(1.0)
gltab.vbl.addWidget(self.glcontrast)
self.glbrightness = ValSlider(gltab,(-1.0,0.0),"GLBst:")
self.glbrightness.setObjectName("GLBoost")
self.glbrightness.setValue(0.1)
self.glbrightness.setValue(0.0)
gltab.vbl.addWidget(self.glbrightness)
return gltab
def get_main_tab(self):
if ( self.maintab == None ):
self.maintab = QtGui.QWidget()
maintab = self.maintab
maintab.vbl = QtGui.QVBoxLayout(self.maintab)
maintab.vbl.setMargin(0)
maintab.vbl.setSpacing(6)
maintab.vbl.setObjectName("Main")
self.transform_vbl = QtGui.QVBoxLayout()
self.transform_panel.addWidgets(self.transform_vbl)
maintab.vbl.addLayout(self.transform_vbl)
self.glwidget = QtGui.QTabWidget()
self.glwidget.addTab(self.get_GL_tab(),"GL")
maintab.vbl.addWidget(self.glwidget)
return maintab
def get_format_tab(self):
self.formattab = QtGui.QWidget()
formattab = self.formattab
formattab.vbl = QtGui.QVBoxLayout(self.formattab)
示例10: EMImageInspector2D
# 需要导入模块: from valslider import ValSlider [as 别名]
# 或者: from valslider.ValSlider import setValue [as 别名]
class EMImageInspector2D(QtGui.QWidget):
def __init__(self,target) :
QtGui.QWidget.__init__(self,None)
self.target=target
self.vboxlayout = QtGui.QVBoxLayout(self)
self.vboxlayout.setMargin(0)
self.vboxlayout.setSpacing(6)
self.vboxlayout.setObjectName("vboxlayout")
self.hist = ImgHistogram(self)
self.hist.setObjectName("hist")
self.vboxlayout.addWidget(self.hist)
self.scale = ValSlider(self,(0.1,5.0),"Mag:")
self.scale.setObjectName("scale")
self.scale.setValue(1.0)
self.vboxlayout.addWidget(self.scale)
self.mins = ValSlider(self,label="Min:")
self.mins.setObjectName("mins")
self.vboxlayout.addWidget(self.mins)
self.combo = QtGui.QComboBox(self)
for i in range(0,10):
self.combo.addItem(str(i))
self.vboxlayout.addWidget(self.combo)
self.maxs = ValSlider(self,label="Max:")
self.maxs.setObjectName("maxs")
self.vboxlayout.addWidget(self.maxs)
self.brts = ValSlider(self,(-1.0,1.0),"Brt:")
self.brts.setObjectName("brts")
self.vboxlayout.addWidget(self.brts)
self.conts = ValSlider(self,(0.0,1.0),"Cont:")
self.conts.setObjectName("conts")
self.vboxlayout.addWidget(self.conts)
self.lowlim=0
self.highlim=1.0
self.busy=0
QtCore.QObject.connect(self.scale, QtCore.SIGNAL("valueChanged"), target.set_scale)
QtCore.QObject.connect(self.mins, QtCore.SIGNAL("valueChanged"), self.newMin)
QtCore.QObject.connect(self.maxs, QtCore.SIGNAL("valueChanged"), self.newMax)
QtCore.QObject.connect(self.brts, QtCore.SIGNAL("valueChanged"), self.newBrt)
QtCore.QObject.connect(self.conts, QtCore.SIGNAL("valueChanged"), self.newCont)
QtCore.QObject.connect(self.combo, QtCore.SIGNAL("currentIndexChanged(QString)"), self.setCombo)
def setCombo(self,val):
pass
#print val
#print "yeealllow"
def newMin(self,val):
if self.busy : return
self.busy=1
self.target.setDenMin(val)
self.update_brightness_contrast()
self.busy=0
def newMax(self,val):
if self.busy : return
self.busy=1
self.target.setDenMax(val)
self.update_brightness_contrast()
self.busy=0
def newBrt(self,val):
if self.busy : return
self.busy=1
self.update_min_max()
self.busy=0
def newCont(self,val):
if self.busy : return
self.busy=1
self.update_min_max()
self.busy=0
def update_brightness_contrast(self):
b=0.5*(self.mins.value+self.maxs.value-(self.lowlim+self.highlim))
c=(self.mins.value-self.maxs.value)/(2.0*(self.lowlim-self.highlim))
self.brts.setValue(-b)
self.conts.setValue(1.0-c)
def update_min_max(self):
x0=((self.lowlim+self.highlim)/2.0-(self.highlim-self.lowlim)*(1.0-self.conts.value+self.brts.value))
x1=((self.lowlim+self.highlim)/2.0+(self.highlim-self.lowlim)*(1.0-self.conts.value-self.brts.value))
self.mins.setValue(x0)
self.maxs.setValue(x1)
self.target.setDenRange(x0,x1)
def set_hist(self,hist,minden,maxden):
self.hist.set_data(hist,minden,maxden)
#.........这里部分代码省略.........
示例11: EMImageInspectorMX
# 需要导入模块: from valslider import ValSlider [as 别名]
# 或者: from valslider.ValSlider import setValue [as 别名]
class EMImageInspectorMX(QtGui.QWidget):
def __init__(self,target) :
QtGui.QWidget.__init__(self,None)
self.target=target
self.vboxlayout = QtGui.QVBoxLayout(self)
self.vboxlayout.setMargin(0)
self.vboxlayout.setSpacing(6)
self.vboxlayout.setObjectName("vboxlayout")
self.hist = ImgHistogram(self)
self.hist.setObjectName("hist")
self.vboxlayout.addWidget(self.hist)
self.hboxlayout = QtGui.QHBoxLayout()
self.hboxlayout.setMargin(0)
self.hboxlayout.setSpacing(6)
self.hboxlayout.setObjectName("hboxlayout")
self.vboxlayout.addLayout(self.hboxlayout)
self.lbl = QtGui.QLabel("#/row:")
self.lbl.setAlignment(Qt.AlignRight|Qt.AlignVCenter)
self.hboxlayout.addWidget(self.lbl)
self.nrow = QtGui.QSpinBox(self)
self.nrow.setObjectName("nrow")
self.nrow.setRange(1,50)
self.nrow.setValue(6)
self.hboxlayout.addWidget(self.nrow)
self.lbl = QtGui.QLabel("N:")
self.lbl.setAlignment(Qt.AlignRight|Qt.AlignVCenter)
self.hboxlayout.addWidget(self.lbl)
self.imgn = QtGui.QSpinBox(self)
self.imgn.setObjectName("imgn")
self.imgn.setRange(-1,50)
self.imgn.setValue(0)
self.imgn.setSpecialValueText("All")
self.hboxlayout.addWidget(self.imgn)
self.scale = ValSlider(self,(0.1,5.0),"Mag:")
self.scale.setObjectName("scale")
self.scale.setValue(1.0)
self.vboxlayout.addWidget(self.scale)
self.mins = ValSlider(self,label="Min:")
self.mins.setObjectName("mins")
self.vboxlayout.addWidget(self.mins)
self.maxs = ValSlider(self,label="Max:")
self.maxs.setObjectName("maxs")
self.vboxlayout.addWidget(self.maxs)
self.brts = ValSlider(self,(-1.0,1.0),"Brt:")
self.brts.setObjectName("brts")
self.vboxlayout.addWidget(self.brts)
self.conts = ValSlider(self,(0.0,1.0),"Cont:")
self.conts.setObjectName("conts")
self.vboxlayout.addWidget(self.conts)
self.lowlim=0
self.highlim=1.0
self.busy=0
QtCore.QObject.connect(self.nrow, QtCore.SIGNAL("valueChanged(int)"), target.setNPerRow)
QtCore.QObject.connect(self.imgn, QtCore.SIGNAL("valueChanged(int)"), target.setNShow)
QtCore.QObject.connect(self.scale, QtCore.SIGNAL("valueChanged"), target.set_scale)
QtCore.QObject.connect(self.mins, QtCore.SIGNAL("valueChanged"), self.newMin)
QtCore.QObject.connect(self.maxs, QtCore.SIGNAL("valueChanged"), self.newMax)
QtCore.QObject.connect(self.brts, QtCore.SIGNAL("valueChanged"), self.newBrt)
QtCore.QObject.connect(self.conts, QtCore.SIGNAL("valueChanged"), self.newCont)
def newMin(self,val):
if self.busy : return
self.busy=1
self.target.setDenMin(val)
self.update_brightness_contrast()
self.busy=0
def newMax(self,val):
if self.busy : return
self.busy=1
self.target.setDenMax(val)
self.update_brightness_contrast()
self.busy=0
def newBrt(self,val):
if self.busy : return
self.busy=1
self.update_min_max()
self.busy=0
def newCont(self,val):
if self.busy : return
self.busy=1
self.update_min_max()
#.........这里部分代码省略.........
示例12: __init__
# 需要导入模块: from valslider import ValSlider [as 别名]
# 或者: from valslider.ValSlider import setValue [as 别名]
class EMLightsInspectorBase:
'''
Inherit from this if you want its functionality
'''
def __init__(self):
self.gl_lights = get_gl_lights_vector()
self.quiet = False
def set_positional_light_pos(self,pos):
self.quiet = True
p = [self.light_x_pos,self.light_y_pos,self.light_z_pos]
for i,w in enumerate(p):
w.setValue(pos[i])
self.quiet = False
def set_positional_light_dir(self,direction):
self.quiet = True
p = [self.light_ps_xdir,self.light_ps_ydir,self.light_ps_zdir]
for i,w in enumerate(p):
w.setValue(direction[i])
self.quiet = False
def set_directional_light_dir(self,direction):
self.quiet = True
p = [self.light_x_dir,self.light_y_dir,self.light_z_dir]
for i,w in enumerate(p):
w.setValue(direction[i])
self.quiet = False
def update_light(self):
if self.quiet: return
l = self.get_current_light()
if l == None: return
attribs = ["r","g","b"]
amb = [ getattr(self.light_ambient, a).getValue() for a in attribs]
amb.append(1.0) # alpha
dif = [ getattr(self.light_diffuse, a).getValue() for a in attribs]
dif.append(1.0) # alpha
spec = [ getattr(self.light_specular, a).getValue() for a in attribs]
spec.append(1.0) # alpha
glLightfv(l, GL_AMBIENT, amb)
glLightfv(l, GL_DIFFUSE, dif)
glLightfv(l, GL_SPECULAR, spec)
pos = glGetLightfv(l,GL_POSITION)
if pos[3] == 0:
# directional light
p = [self.light_x_dir,self.light_y_dir,self.light_z_dir]
pos = [float(a.value()) for a in p]
pos.append(0) # i.e. directional light
glLightfv(l, GL_POSITION, pos)
else:
p = [self.light_x_pos,self.light_y_pos,self.light_z_pos]
pos = [float(a.value()) for a in p]
pos.append(1) # i.e.point light
glLightfv(l, GL_POSITION, pos)
d = [self.light_ps_xdir,self.light_ps_ydir,self.light_ps_zdir]
dr = [float(a.value()) for a in d]
glLightfv(l, GL_SPOT_DIRECTION, dr)
glLightfv(l,GL_CONSTANT_ATTENUATION,self.const_atten.getValue())
glLightfv(l,GL_LINEAR_ATTENUATION,self.linear_atten.getValue())
glLightfv(l,GL_QUADRATIC_ATTENUATION,self.quad_atten.getValue())
glLightfv(l,GL_SPOT_CUTOFF,self.spot_cutoff.getValue())
glLightfv(l,GL_SPOT_EXPONENT,self.spot_exponent.getValue())
self.target().updateGL()
def get_light_tab(self):
self.light_tab = QtGui.QWidget()
light_tab = self.light_tab
vbl = QtGui.QVBoxLayout(self.light_tab )
vbl.setMargin(0)
vbl.setSpacing(6)
vbl.setObjectName("Lights")
self.light_manip_check = QtGui.QCheckBox("Mouse moves lights")
self.local_viewer_check = QtGui.QCheckBox("Local light model")
self.local_viewer_check.setChecked(glGetInteger(GL_LIGHT_MODEL_LOCAL_VIEWER))
show_lights = QtGui.QCheckBox("Show lights")
show_lights.setChecked(self.target().display_lights)
max_lights_label = QtGui.QLabel()
max_lights_label.setText("Max lights : " + str(glGetInteger(GL_MAX_LIGHTS)))
hdl_l = QtGui.QHBoxLayout()
hdl_t = QtGui.QHBoxLayout()
hdl_l.addWidget(self.light_manip_check)
#.........这里部分代码省略.........
示例13: EMLightsInspector
# 需要导入模块: from valslider import ValSlider [as 别名]
# 或者: from valslider.ValSlider import setValue [as 别名]
class EMLightsInspector(QtGui.QWidget,EMLightsInspectorBase):
def __init__(self,target) :
QtGui.QWidget.__init__(self,None)
EMLightsInspectorBase.__init__(self)
self.target=weakref.ref(target)
self.vbl = QtGui.QVBoxLayout(self)
self.vbl.setMargin(0)
self.vbl.setSpacing(6)
self.vbl.setObjectName("vbl")
self.hbl = QtGui.QHBoxLayout()
self.hbl.setMargin(0)
self.hbl.setSpacing(6)
self.hbl.setObjectName("hbl")
self.vbl.addLayout(self.hbl)
self.vbl2 = QtGui.QVBoxLayout()
self.vbl2.setMargin(0)
self.vbl2.setSpacing(6)
self.vbl2.setObjectName("vbl2")
self.hbl.addLayout(self.vbl2)
self.wiretog = QtGui.QPushButton("Wire")
self.wiretog.setCheckable(1)
self.vbl2.addWidget(self.wiretog)
self.lighttog = QtGui.QPushButton("Light")
self.lighttog.setCheckable(1)
self.lighttog.setChecked(True)
self.vbl2.addWidget(self.lighttog)
self.tabwidget = QtGui.QTabWidget()
self.maintab = None
self.tabwidget.addTab(self.get_light_tab(), "Lights")
self.tabwidget.addTab(self.get_main_tab(), "Transform")
self.tabwidget.addTab(self.get_GL_tab(),"GL")
self.vbl.addWidget(self.tabwidget)
self.n3_showing = False
self.quiet = False
QtCore.QObject.connect(self.cbb, QtCore.SIGNAL("currentIndexChanged(QString)"), target.setColor)
QtCore.QObject.connect(self.wiretog, QtCore.SIGNAL("toggled(bool)"), target.toggle_wire)
QtCore.QObject.connect(self.lighttog, QtCore.SIGNAL("toggled(bool)"), target.toggle_light)
QtCore.QObject.connect(self.glcontrast, QtCore.SIGNAL("valueChanged"), target.set_GL_contrast)
QtCore.QObject.connect(self.glbrightness, QtCore.SIGNAL("valueChanged"), target.set_GL_brightness)
def update_rotations(self,t3d):
self.rotation_sliders.update_rotations(t3d)
def set_scale(self,val):
self.rotation_sliders.set_scale(val)
def set_xy_trans(self, x, y):
self.rotation_sliders.set_xy_trans(x,y)
def set_xyz_trans(self,x,y,z):
self.rotation_sliders.set_xyz_trans(x,y,z)
#return self.advanced_tab
def get_GL_tab(self):
self.gltab = QtGui.QWidget()
gltab = self.gltab
gltab.vbl = QtGui.QVBoxLayout(self.gltab )
gltab.vbl.setMargin(0)
gltab.vbl.setSpacing(6)
gltab.vbl.setObjectName("Main")
self.hbl_color = QtGui.QHBoxLayout()
self.hbl_color.setMargin(0)
self.hbl_color.setSpacing(6)
gltab.vbl.addLayout(self.hbl_color)
self.color_label = QtGui.QLabel()
self.color_label.setText('Material')
self.hbl_color.addWidget(self.color_label)
self.cbb = QtGui.QComboBox(gltab)
self.hbl_color.addWidget(self.cbb)
self.glcontrast = ValSlider(gltab,(1.0,5.0),"GLShd:")
self.glcontrast.setObjectName("GLShade")
self.glcontrast.setValue(1.0)
gltab.vbl.addWidget(self.glcontrast)
self.glbrightness = ValSlider(gltab,(-1.0,0.0),"GLBst:")
self.glbrightness.setObjectName("GLBoost")
self.glbrightness.setValue(0.1)
self.glbrightness.setValue(0.0)
gltab.vbl.addWidget(self.glbrightness)
return gltab
def get_main_tab(self):
if ( self.maintab == None ):
self.maintab = QtGui.QWidget()
maintab = self.maintab
maintab.vbl = QtGui.QVBoxLayout(self.maintab)
maintab.vbl.setMargin(0)
#.........这里部分代码省略.........
示例14: EMInspectorControlShape
# 需要导入模块: from valslider import ValSlider [as 别名]
# 或者: from valslider.ValSlider import setValue [as 别名]
class EMInspectorControlShape(EMItem3DInspector):
"""
Class to make EMItem GUI SHAPE Inspector
"""
def __init__(self, name, item3d):
EMItem3DInspector.__init__(self, name, item3d)
def updateItemControls(self):
""" Updates this item inspector. Function is called by the item it observes"""
super(EMInspectorControlShape, self).updateItemControls()
self.ambcolorbox.setColor(QtGui.QColor(255*self.item3d().ambient[0],255*self.item3d().ambient[1],255*self.item3d().ambient[2]))
self.diffusecolorbox.setColor(QtGui.QColor(255*self.item3d().diffuse[0],255*self.item3d().diffuse[1],255*self.item3d().diffuse[2]))
self.specularcolorbox.setColor(QtGui.QColor(255*self.item3d().specular[0],255*self.item3d().specular[1],255*self.item3d().specular[2]))
def addTabs(self):
""" Add a tab for each 'column' """
tabwidget = QtGui.QWidget()
gridbox = QtGui.QGridLayout()
EMInspectorControlShape.addControls(self, gridbox)
tabwidget.setLayout(gridbox)
self.addTab(tabwidget, "basic")
def addControls(self, gridbox):
""" Construct all the widgets in this Item Inspector """
super(EMInspectorControlShape, self).addControls(gridbox)
colorframe = QtGui.QFrame()
colorframe.setFrameShape(QtGui.QFrame.StyledPanel)
colorvbox = QtGui.QVBoxLayout()
lfont = QtGui.QFont()
lfont.setBold(True)
colorlabel = QtGui.QLabel("Color",colorframe)
colorlabel.setFont(lfont)
colorlabel.setAlignment(QtCore.Qt.AlignCenter)
# These boxes are a pain maybe I should use a Grid?
cdialoghbox = QtGui.QHBoxLayout()
cabox = QtGui.QHBoxLayout()
self.ambcolorbox = EMQTColorWidget(parent=colorframe)
cabox.addWidget(self.ambcolorbox)
cabox.setAlignment(QtCore.Qt.AlignCenter)
cdbox = QtGui.QHBoxLayout()
self.diffusecolorbox = EMQTColorWidget(parent=colorframe)
cdbox.addWidget(self.diffusecolorbox)
cdbox.setAlignment(QtCore.Qt.AlignCenter)
csbox = QtGui.QHBoxLayout()
self.specularcolorbox = EMQTColorWidget(parent=colorframe)
csbox.addWidget(self.specularcolorbox)
csbox.setAlignment(QtCore.Qt.AlignCenter)
cdialoghbox.addLayout(cabox)
cdialoghbox.addLayout(cdbox)
cdialoghbox.addLayout(csbox)
colorhbox = QtGui.QHBoxLayout()
self.ambient = QtGui.QLabel("Ambient", colorframe)
self.ambient.setAlignment(QtCore.Qt.AlignCenter)
self.diffuse = QtGui.QLabel("Diffuse", colorframe)
self.diffuse.setAlignment(QtCore.Qt.AlignCenter)
self.specular = QtGui.QLabel("Specular", colorframe)
self.specular.setAlignment(QtCore.Qt.AlignCenter)
colorhbox.addWidget(self.ambient)
colorhbox.addWidget(self.diffuse)
colorhbox.addWidget(self.specular)
self.shininess = ValSlider(colorframe, (0.0, 50.0), "Shine")
self.shininess.setValue(self.item3d().shininess)
colorvbox.addWidget(colorlabel)
colorvbox.addLayout(cdialoghbox)
colorvbox.addLayout(colorhbox)
colorvbox.addWidget(self.shininess)
colorframe.setLayout(colorvbox)
colorframe.setMaximumWidth(350)
gridbox.addWidget(colorframe, 3, 0, 1, 1)
# Set to default, but do not run if being inherited
if type(self) == EMInspectorControlShape: self.updateItemControls()
QtCore.QObject.connect(self.ambcolorbox,QtCore.SIGNAL("newcolor(QColor)"),self._on_ambient_color)
QtCore.QObject.connect(self.diffusecolorbox,QtCore.SIGNAL("newcolor(QColor)"),self._on_diffuse_color)
QtCore.QObject.connect(self.specularcolorbox,QtCore.SIGNAL("newcolor(QColor)"),self._on_specular_color)
QtCore.QObject.connect(self.shininess,QtCore.SIGNAL("valueChanged"),self._on_shininess)
def _on_ambient_color(self, color):
rgb = color.getRgb()
if self.item3d():
self.item3d().setAmbientColor((float(rgb[0])/255.0),(float(rgb[1])/255.0),(float(rgb[2])/255.0))
self.inspector().updateSceneGraph()
def _on_diffuse_color(self, color):
rgb = color.getRgb()
if self.item3d():
self.item3d().setDiffuseColor((float(rgb[0])/255.0),(float(rgb[1])/255.0),(float(rgb[2])/255.0))
self.inspector().updateSceneGraph()
def _on_specular_color(self, color):
rgb = color.getRgb()
if self.item3d():
self.item3d().setSpecularColor((float(rgb[0])/255.0),(float(rgb[1])/255.0),(float(rgb[2])/255.0))
#.........这里部分代码省略.........
示例15: EMInspectorControlLine
# 需要导入模块: from valslider import ValSlider [as 别名]
# 或者: from valslider.ValSlider import setValue [as 别名]
class EMInspectorControlLine(EMInspectorControlShape):
"""
Class to make EMItem GUI SHAPE Line Inspector
"""
def __init__(self, name, item3d):
EMInspectorControlShape.__init__(self, name, item3d)
def updateItemControls(self):
""" Updates this item inspector. Function is called by the item it observes"""
super(EMInspectorControlLine, self).updateItemControls()
def updateMetaData(self):
""" Updates the items metadata, such as line length, width. Function is called by the item it observes when the items meta data changes """
super(EMInspectorControlLine, self).updateMetaData()
self.leftArrowSize.setValue(self.item3d().leftArrowSize, quiet=1)
self.leftArrowLength.setValue(self.item3d().leftArrowLength, quiet=1)
self.rightArrowSize.setValue(self.item3d().rightArrowSize, quiet=1)
self.rightArrowLength.setValue(self.item3d().rightArrowLength, quiet=1)
self.slice.setValue(self.item3d().slices, quiet=1)
self.stack.setValue(self.item3d().stacks, quiet=1)
self.linelength.setValue(int(self.item3d().length), quiet=1)
def addTabs(self):
""" Add a tab for each 'column' """
super(EMInspectorControlLine, self).addTabs()
tabwidget = QtGui.QWidget()
gridbox = QtGui.QGridLayout()
EMInspectorControlLine.addControls(self, gridbox)
tabwidget.setLayout(gridbox)
self.addTab(tabwidget, "line")
def addControls(self, gridbox):
""" Construct all the widgets in this Item Inspector """
#frame to control properties of left/right arrows
lineframe = QtGui.QFrame()
lineframe.setFrameShape(QtGui.QFrame.StyledPanel)
lfont = QtGui.QFont()
lfont.setBold(True)
linegridbox = QtGui.QGridLayout()
leftlabel = QtGui.QLabel("Left arrow")
leftlabel.setFont(lfont)
leftlabel.setAlignment(QtCore.Qt.AlignCenter)
linegridbox.addWidget(leftlabel, 0, 1, 1, 1)
sidelabel1 = QtGui.QLabel("Size")
sidelabel1.setFont(lfont)
sidelabel1.setAlignment(QtCore.Qt.AlignVCenter)
linegridbox.addWidget(sidelabel1, 2, 0, 1, 1)
sidelabel2 = QtGui.QLabel("Length")
sidelabel2.setFont(lfont)
sidelabel2.setAlignment(QtCore.Qt.AlignVCenter)
linegridbox.addWidget(sidelabel2, 3, 0, 1, 1)
self.leftShowArrow = QtGui.QCheckBox("Show")
self.leftShowArrow.setChecked(self.item3d().showLeftArrow)
linegridbox.addWidget(self.leftShowArrow, 1, 1, 1, 1)
self.leftArrowSize = EMSpinWidget(int(self.item3d().leftArrowSize), 1.0, rounding=0)
self.leftArrowSize.setMinimumWidth(120)
linegridbox.addWidget(self.leftArrowSize, 2, 1, 1, 1)
self.leftArrowLength = EMSpinWidget(int(self.item3d().leftArrowLength), 1.0, rounding=0)
self.leftArrowLength.setMinimumWidth(120)
linegridbox.addWidget(self.leftArrowLength, 3, 1, 1, 1)
rightlabel = QtGui.QLabel("Right arrow")
rightlabel.setFont(lfont)
rightlabel.setAlignment(QtCore.Qt.AlignCenter)
linegridbox.addWidget(rightlabel, 0, 2, 1, 1)
self.rightShowArrow = QtGui.QCheckBox("Show")
self.rightShowArrow.setChecked(self.item3d().showRightArrow)
linegridbox.addWidget(self.rightShowArrow, 1, 2, 1, 1)
self.rightArrowSize = EMSpinWidget(int(self.item3d().rightArrowSize), 1.0, rounding=0)
self.rightArrowSize.setMinimumWidth(120)
linegridbox.addWidget(self.rightArrowSize, 2, 2, 1, 1)
self.rightArrowLength = EMSpinWidget(int(self.item3d().rightArrowLength), 1.0, rounding=0)
self.rightArrowLength.setMinimumWidth(120)
linegridbox.addWidget(self.rightArrowLength, 3, 2, 1, 1)
linelengthlabel = QtGui.QLabel("Line Length")
linelengthlabel.setFont(lfont)
linelengthlabel.setAlignment(QtCore.Qt.AlignCenter)
linegridbox.addWidget(linelengthlabel, 4, 0, 2, 2)
self.linelength = EMSpinWidget(int(self.item3d().length), 1.0, rounding=0)
linegridbox.addWidget(self.linelength, 4, 2, 2, 2)
linewidthlabel = QtGui.QLabel("Line Width")
linewidthlabel.setFont(lfont)
linewidthlabel.setAlignment(QtCore.Qt.AlignCenter)
linegridbox.addWidget(linewidthlabel, 5, 0, 1, 2)
self.linewidth = EMSpinWidget(int(self.item3d().width), 1.0, rounding=0)
#.........这里部分代码省略.........