def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.setWindowTitle("XPD Motor Controls") #Get all the motor names here, essentially load up the motorD toplayout=QtGui.QGridLayout() number_of_motors_ = len(motorD) titles = ['Name', 'Status', 'Position Read Back', 'Position', 'Step', 'Stop'] fields_per_motor = len(titles) i=1 for n, title in enumerate(titles): toplayout.addWidget(QtGui.QLabel(title), 0, n) for motor in motorD: #set the motor name toplayout.addWidget(QtGui.QLabel(motor), i, 0) #How do I get this to update automaticly? Also needs if statement with real words motor_stat = 'MOTOR STATUS HERE' toplayout.addWidget(QtGui.QLabel(motor_stat), i, 1) position_read_back='POSITION VALUE HERE' toplayout.addWidget(QtGui.QLabel(position_read_back), i, 2) #Spin box for setting the position user_position=QtGui.QDoubleSpinBox() user_position.setMaximum(motorD[motor]['high']) user_position.setMinimum(motorD[motor]['low']) #this needs to update user_position.setValue(caget(motorD[motor]['pv']+'.VAL')) user_position.setSuffix(motorD[motor]['EGU']) user_position.valueChanged.connect(lambda y=user_position.value, x=motor : self.new_position) toplayout.addWidget(user_position) #step box step = QtGui.QDoubleSpinBox() step.setMinimum(motorD[motor]['res']) step.setValue(.5) step.valueChanged.connect(user_position.setSingleStep) toplayout.addWidget(step) #stop button stop_btn=QtGui.QPushButton("STOP") stop_btn.clicked.connect(lambda x=motor: self.gui_stop(x)) toplayout.addWidget(stop_btn) i+=1 self.setLayout(toplayout) self.show()
def __init__(self, *args, **kwargs): super(UiSubplotTool, self).__init__(*args, **kwargs) self.setObjectName('SubplotTool') self.resize(450, 265) gbox = QtGui.QGridLayout(self) self.setLayout(gbox) # groupbox borders groupbox = QtGui.QGroupBox('Borders', self) gbox.addWidget(groupbox, 6, 0, 1, 1) self.verticalLayout = QtGui.QVBoxLayout(groupbox) self.verticalLayout.setSpacing(0) # slider top self.hboxtop = QtGui.QHBoxLayout() self.labeltop = QtGui.QLabel('top', self) self.labeltop.setMinimumSize(QtCore.QSize(50, 0)) self.labeltop.setAlignment( QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.slidertop = QtGui.QSlider(self) self.slidertop.setMouseTracking(False) self.slidertop.setProperty("value", 0) self.slidertop.setOrientation(QtCore.Qt.Horizontal) self.slidertop.setInvertedAppearance(False) self.slidertop.setInvertedControls(False) self.slidertop.setTickPosition(QtGui.QSlider.TicksAbove) self.slidertop.setTickInterval(100) self.topvalue = QtGui.QLabel('0', self) self.topvalue.setMinimumSize(QtCore.QSize(30, 0)) self.topvalue.setAlignment( QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.verticalLayout.addLayout(self.hboxtop) self.hboxtop.addWidget(self.labeltop) self.hboxtop.addWidget(self.slidertop) self.hboxtop.addWidget(self.topvalue) # slider bottom hboxbottom = QtGui.QHBoxLayout() labelbottom = QtGui.QLabel('bottom', self) labelbottom.setMinimumSize(QtCore.QSize(50, 0)) labelbottom.setAlignment( QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.sliderbottom = QtGui.QSlider(self) self.sliderbottom.setMouseTracking(False) self.sliderbottom.setProperty("value", 0) self.sliderbottom.setOrientation(QtCore.Qt.Horizontal) self.sliderbottom.setInvertedAppearance(False) self.sliderbottom.setInvertedControls(False) self.sliderbottom.setTickPosition(QtGui.QSlider.TicksAbove) self.sliderbottom.setTickInterval(100) self.bottomvalue = QtGui.QLabel('0', self) self.bottomvalue.setMinimumSize(QtCore.QSize(30, 0)) self.bottomvalue.setAlignment( QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.verticalLayout.addLayout(hboxbottom) hboxbottom.addWidget(labelbottom) hboxbottom.addWidget(self.sliderbottom) hboxbottom.addWidget(self.bottomvalue) # slider left hboxleft = QtGui.QHBoxLayout() labelleft = QtGui.QLabel('left', self) labelleft.setMinimumSize(QtCore.QSize(50, 0)) labelleft.setAlignment( QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.sliderleft = QtGui.QSlider(self) self.sliderleft.setMouseTracking(False) self.sliderleft.setProperty("value", 0) self.sliderleft.setOrientation(QtCore.Qt.Horizontal) self.sliderleft.setInvertedAppearance(False) self.sliderleft.setInvertedControls(False) self.sliderleft.setTickPosition(QtGui.QSlider.TicksAbove) self.sliderleft.setTickInterval(100) self.leftvalue = QtGui.QLabel('0', self) self.leftvalue.setMinimumSize(QtCore.QSize(30, 0)) self.leftvalue.setAlignment( QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.verticalLayout.addLayout(hboxleft) hboxleft.addWidget(labelleft) hboxleft.addWidget(self.sliderleft) hboxleft.addWidget(self.leftvalue) # slider right hboxright = QtGui.QHBoxLayout() self.labelright = QtGui.QLabel('right', self) self.labelright.setMinimumSize(QtCore.QSize(50, 0)) self.labelright.setAlignment( QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.sliderright = QtGui.QSlider(self) self.sliderright.setMouseTracking(False) self.sliderright.setProperty("value", 0) self.sliderright.setOrientation(QtCore.Qt.Horizontal) self.sliderright.setInvertedAppearance(False) self.sliderright.setInvertedControls(False) self.sliderright.setTickPosition(QtGui.QSlider.TicksAbove) self.sliderright.setTickInterval(100) self.rightvalue = QtGui.QLabel('0', self) self.rightvalue.setMinimumSize(QtCore.QSize(30, 0)) self.rightvalue.setAlignment( QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.verticalLayout.addLayout(hboxright) hboxright.addWidget(self.labelright) hboxright.addWidget(self.sliderright) hboxright.addWidget(self.rightvalue) # groupbox spacings groupbox = QtGui.QGroupBox('Spacings', self) gbox.addWidget(groupbox, 7, 0, 1, 1) self.verticalLayout = QtGui.QVBoxLayout(groupbox) self.verticalLayout.setSpacing(0) # slider hspace hboxhspace = QtGui.QHBoxLayout() self.labelhspace = QtGui.QLabel('hspace', self) self.labelhspace.setMinimumSize(QtCore.QSize(50, 0)) self.labelhspace.setAlignment( QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.sliderhspace = QtGui.QSlider(self) self.sliderhspace.setMouseTracking(False) self.sliderhspace.setProperty("value", 0) self.sliderhspace.setOrientation(QtCore.Qt.Horizontal) self.sliderhspace.setInvertedAppearance(False) self.sliderhspace.setInvertedControls(False) self.sliderhspace.setTickPosition(QtGui.QSlider.TicksAbove) self.sliderhspace.setTickInterval(100) self.hspacevalue = QtGui.QLabel('0', self) self.hspacevalue.setMinimumSize(QtCore.QSize(30, 0)) self.hspacevalue.setAlignment( QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.verticalLayout.addLayout(hboxhspace) hboxhspace.addWidget(self.labelhspace) hboxhspace.addWidget(self.sliderhspace) hboxhspace.addWidget(self.hspacevalue) # slider hspace # slider wspace hboxwspace = QtGui.QHBoxLayout() self.labelwspace = QtGui.QLabel('wspace', self) self.labelwspace.setMinimumSize(QtCore.QSize(50, 0)) self.labelwspace.setAlignment( QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.sliderwspace = QtGui.QSlider(self) self.sliderwspace.setMouseTracking(False) self.sliderwspace.setProperty("value", 0) self.sliderwspace.setOrientation(QtCore.Qt.Horizontal) self.sliderwspace.setInvertedAppearance(False) self.sliderwspace.setInvertedControls(False) self.sliderwspace.setTickPosition(QtGui.QSlider.TicksAbove) self.sliderwspace.setTickInterval(100) self.wspacevalue = QtGui.QLabel('0', self) self.wspacevalue.setMinimumSize(QtCore.QSize(30, 0)) self.wspacevalue.setAlignment( QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.verticalLayout.addLayout(hboxwspace) hboxwspace.addWidget(self.labelwspace) hboxwspace.addWidget(self.sliderwspace) hboxwspace.addWidget(self.wspacevalue) # button bar hbox2 = QtGui.QHBoxLayout() gbox.addLayout(hbox2, 8, 0, 1, 1) self.tightlayout = QtGui.QPushButton('Tight Layout', self) spacer = QtGui.QSpacerItem( 5, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.resetbutton = QtGui.QPushButton('Reset', self) self.donebutton = QtGui.QPushButton('Close', self) self.donebutton.setFocus(True) hbox2.addWidget(self.tightlayout) hbox2.addItem(spacer) hbox2.addWidget(self.resetbutton) hbox2.addWidget(self.donebutton) self.donebutton.clicked.connect(self.accept)