class _DoubleSpinnerEditor(SimpleSpinEditor): def init (self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory if not factory.low_name: self.low = factory.low if not factory.high_name: self.high = factory.high self.sync_value(factory.low_name, 'low', 'from') self.sync_value(factory.high_name, 'high', 'from') low = self.low high = self.high self.control = QDoubleSpinBox() if factory.step: self.control.setSingleStep(factory.step) self.control.setMinimum(low) self.control.setMaximum(high) self.control.setValue(self.value) QtCore.QObject.connect(self.control, QtCore.SIGNAL('valueChanged(int)'), self.update_object) self.set_tooltip()
class _DoubleSpinnerEditor(SimpleSpinEditor): def init(self, parent): """ Finishes initializing the editor by creating the underlying toolkit widget. """ factory = self.factory if not factory.low_name: self.low = factory.low if not factory.high_name: self.high = factory.high self.sync_value(factory.low_name, 'low', 'from') self.sync_value(factory.high_name, 'high', 'from') low = self.low high = self.high self.control = QDoubleSpinBox() if factory.step: self.control.setSingleStep(factory.step) self.control.setMinimum(low) self.control.setMaximum(high) self.control.setValue(self.value) QtCore.QObject.connect(self.control, QtCore.SIGNAL('valueChanged(int)'), self.update_object) self.set_tooltip()
def add_color(self, name, color, layout, row): layout.addWidget(QLabel('<b>{0}</b>'.format(name)), row, 0) layout.addWidget(QLabel('R'), row, 1) r = QDoubleSpinBox() r.setValue(color.red) r.setMinimum(0.0) r.setMaximum(1.0) layout.addWidget(r, row, 2) self.controls['{0}r'.format(name)] = r layout.addWidget(QLabel('G'), row, 3) g = QDoubleSpinBox() g.setValue(color.green) g.setMinimum(0.0) g.setMaximum(1.0) layout.addWidget(g, row, 4) self.controls['{0}g'.format(name)] = g layout.addWidget(QLabel('B'), row, 5) b = QDoubleSpinBox() b.setValue(color.blue) b.setMinimum(0.0) b.setMaximum(1.0) layout.addWidget(b, row, 6) self.controls['{0}b'.format(name)] = b layout.addWidget(QLabel('A'), row, 7) a = QDoubleSpinBox() a.setValue(color.alpha) a.setMinimum(0.0) a.setMaximum(1.0) layout.addWidget(a, row, 8) self.controls['{0}a'.format(name)] = a
class SetRangeStringCompound(QWidget): def __init__(self, parent=None): super(SetRangeStringCompound, self).__init__(parent) label_string = QLabel("Range string") self.lineedit_string = QLineEdit() self.lineedit_string.setMinimumWidth(100) label_value = QLabel("Value") self.spinbox_value = QDoubleSpinBox() self.spinbox_value.setMaximum(9999) self.spinbox_value.setValue(1.0) row = 0 ; col = 0; layout = QGridLayout() layout.addWidget(label_string, row, col) col += 1 layout.addWidget(self.lineedit_string, row, col) row += 1; col = 0; layout.addWidget(label_value, row, col) col += 1 layout.addWidget(self.spinbox_value, row, col) self.setLayout(layout)
def initUI(self): grp = QGroupBox('Bounding Box') grplay = QGridLayout() # Extents. extx = QDoubleSpinBox() extx.setMinimum(0) extx.setMaximum(100) extx.setValue(self.bbox.extents[0]) self.controls['extx'] = extx exty = QDoubleSpinBox() exty.setMinimum(0) exty.setMaximum(100) exty.setValue(self.bbox.extents[1]) self.controls['exty'] = exty extz = QDoubleSpinBox() extz.setMinimum(0) extz.setMaximum(100) extz.setValue(self.bbox.extents[2]) self.controls['extz'] = extz grplay.addWidget(QLabel('<b>Extents</b>'), 0, 0) grplay.addWidget(QLabel('X'), 0, 1) grplay.addWidget(extx, 0, 2) grplay.addWidget(QLabel('Y'), 0, 3) grplay.addWidget(exty, 0, 4) grplay.addWidget(QLabel('Z'), 0, 5) grplay.addWidget(extz, 0, 6) # Center. cntx = QDoubleSpinBox() cntx.setMinimum(-10000) cntx.setMaximum(10000) cntx.setValue(self.bbox.center[0]) self.controls['cntx'] = cntx cnty = QDoubleSpinBox() cnty.setMinimum(-10000) cnty.setMaximum(10000) cnty.setValue(self.bbox.center[1]) self.controls['cnty'] = cnty cntz = QDoubleSpinBox() cntz.setMinimum(-10000) cntz.setMaximum(10000) cntz.setValue(self.bbox.center[2]) self.controls['cntz'] = cntz grplay.addWidget(QLabel('<b>Center</b>'), 1, 0) grplay.addWidget(QLabel('X'), 1, 1) grplay.addWidget(cntx, 1, 2) grplay.addWidget(QLabel('Y'), 1, 3) grplay.addWidget(cnty, 1, 4) grplay.addWidget(QLabel('Z'), 1, 5) grplay.addWidget(cntz, 1, 6) # Radius. radius = QDoubleSpinBox() cntz.setMinimum(0) cntz.setMaximum(10000) radius.setValue(self.bbox.radius) self.controls['radius'] = radius grplay.addWidget(QLabel('<b>BSphereRadius'), 2, 0) grplay.addWidget(radius, 2, 1, 1, 2) grp.setLayout(grplay) # Buttons. save_btn = QPushButton('Save') save_btn.clicked.connect(self.save) cancel_btn = QPushButton('Cancel') cancel_btn.clicked.connect(self.close) btns = QHBoxLayout() btns.addStretch() btns.addWidget(save_btn) btns.addWidget(cancel_btn) # Main Layout. mainlay = QVBoxLayout() mainlay.addWidget(grp) mainlay.addLayout(btns) mainlay.addStretch() self.setLayout(mainlay) self.setGeometry(340, 340, 400, 100) self.setWindowTitle('MSH Suite - Edit BBox') self.show()
def initUI(self): grp = QGroupBox('Transform') grplay = QGridLayout() # Translation grplay.addWidget(QLabel('<b>Translation</b>'), 0, 0) trax = QDoubleSpinBox() trax.setMinimum(-10000) trax.setMaximum(10000) trax.setValue(self.tran.translation[0]) self.controls['trax'] = trax grplay.addWidget(trax, 0, 1) tray = QDoubleSpinBox() tray.setMinimum(-10000) tray.setMaximum(10000) tray.setValue(self.tran.translation[1]) self.controls['tray'] = tray grplay.addWidget(tray, 0, 2) traz = QDoubleSpinBox() traz.setMinimum(-10000) traz.setMaximum(10000) traz.setValue(self.tran.translation[2]) self.controls['traz'] = traz grplay.addWidget(traz, 0, 3) # Rotation. grplay.addWidget(QLabel('<b>Rotation</b>'), 1, 0) rotx = QSpinBox() rotx.setMinimum(-10000) rotx.setMaximum(10000) #rotx.setText(str(self.tran.euler_angles()[0])) traz.setValue(self.tran.euler_angles()[0]) self.controls['rotx'] = rotx grplay.addWidget(rotx, 1, 1) roty = QSpinBox() roty.setMinimum(-10000) roty.setMaximum(10000) #roty.setText(str(self.tran.euler_angles()[1])) traz.setValue(self.tran.euler_angles()[1]) self.controls['roty'] = roty grplay.addWidget(roty, 1, 2) rotz = QSpinBox() rotz.setMinimum(-10000) rotz.setMaximum(10000) #rotz.setText(str(self.tran.euler_angles()[2])) traz.setValue(self.tran.euler_angles()[2]) self.controls['rotz'] = rotz grplay.addWidget(rotz, 1, 3) # Scale. grplay.addWidget(QLabel('<b>Scale</b>'), 2, 0) sclx = QDoubleSpinBox() sclx.setMinimum(-10000) sclx.setMaximum(10000) sclx.setValue(self.tran.scale[0]) self.controls['sclx'] = sclx grplay.addWidget(sclx, 2, 1) scly = QDoubleSpinBox() scly.setMinimum(-10000) scly.setMaximum(10000) scly.setValue(self.tran.scale[1]) self.controls['scly'] = scly grplay.addWidget(scly, 2, 2) sclz = QDoubleSpinBox() sclz.setMinimum(-10000) sclz.setMaximum(10000) sclz.setValue(self.tran.scale[2]) self.controls['sclz'] = sclz grplay.addWidget(sclz, 2, 3) grp.setLayout(grplay) # Buttons. save_btn = QPushButton('Save') save_btn.clicked.connect(self.save) cancel_btn = QPushButton('Cancel') cancel_btn.clicked.connect(self.close) btns = QHBoxLayout() btns.addStretch() btns.addWidget(save_btn) btns.addWidget(cancel_btn) # Main Layout. mainlay = QVBoxLayout() mainlay.addWidget(grp) mainlay.addLayout(btns) mainlay.addStretch() self.setLayout(mainlay) self.setGeometry(340, 340, 400, 100) self.setWindowTitle('MSH Suite - Edit BBox') self.show()
class ProfileFormWidget(QWidget): ''' classdocs ''' def __init__(self): ''' Constructor ''' QWidget.__init__(self) self._initGUI() def _initGUI(self): self.layout = QVBoxLayout() self.form = QFormLayout() self.name = QLineEdit() self.surname = QLineEdit() self.birthdate = QCalendarWidget() self.birthdate.setGridVisible(True) self.birthdate.setMinimumDate(QDate(1850, 1, 1)) self.birthdate.setMaximumDate(QDate.currentDate()) self.male = QRadioButton("Male") self.male.setChecked(True) self.female = QRadioButton("Female") self.height = QDoubleSpinBox() self.height.setMaximum(250) self.height.setMinimum(50) self.height.setValue(165) self.height.setSuffix(" cm") self.mass = QDoubleSpinBox() self.mass.setMaximum(300) self.mass.setMinimum(20) self.mass.setValue(60) self.mass.setSuffix(" Kg") btnLayout = QVBoxLayout() self.form.addRow("Name", self.name) self.form.addRow("Surname", self.surname) self.form.addRow("Birth date", self.birthdate) sexLayout = QHBoxLayout() sexLayout.addWidget(self.male) sexLayout.addWidget(self.female) self.form.addRow("Sex", sexLayout) self.form.addRow("Height", self.height) self.form.addRow("Mass", self.mass) self.layout.addLayout(self.form) self.layout.addLayout(btnLayout) self.setLayout(self.layout) def getLayout(self): return self.layout def getWidget(self): widget = QWidget() widget.setLayout(self.layout) return widget def setProfile(self, athlete): self.name.setText(athlete._name) self.surname.setText(athlete._surname) self.birthdate.setSelectedDate(athlete._birthDate) if athlete._sex == "Male": self.male.setChecked(True) else: self.female.setChecked(True) self.height.setValue(athlete._height) self.mass.setValue(athlete._mass) def getProfile(self): qDate = self.birthdate.selectedDate() birthDate = self.qDate_to_date(qDate) athleteProfile = Athlete(self.name.text(), self.surname.text(), self._getSex(), birthDate, self.height.value(), self.mass.value()) return athleteProfile def qDate_to_date(self, qDate): return date(qDate.year(), qDate.month(), qDate.day()) def _getSex(self): if (self.male.isChecked()): return "Male" elif (self.female.isChecked()): return "Female" else: print "Error: No sex selected" return False
class ProfileFormWidget(QWidget): ''' classdocs ''' def __init__(self): ''' Constructor ''' QWidget.__init__(self) self._initGUI() def _initGUI(self): self.layout = QVBoxLayout() self.form = QFormLayout() self.name = QLineEdit() self.surname = QLineEdit() self.birthdate = QCalendarWidget() self.birthdate.setGridVisible(True) self.birthdate.setMinimumDate(QDate(1850,1,1)) self.birthdate.setMaximumDate(QDate.currentDate()) self.male = QRadioButton("Male") self.male.setChecked(True) self.female = QRadioButton("Female") self.height = QDoubleSpinBox() self.height.setMaximum(250) self.height.setMinimum(50) self.height.setValue(165) self.height.setSuffix(" cm") self.mass = QDoubleSpinBox() self.mass.setMaximum(300) self.mass.setMinimum(20) self.mass.setValue(60) self.mass.setSuffix(" Kg") btnLayout = QVBoxLayout() self.form.addRow("Name", self.name) self.form.addRow("Surname", self.surname) self.form.addRow("Birth date",self.birthdate) sexLayout = QHBoxLayout() sexLayout.addWidget(self.male) sexLayout.addWidget(self.female) self.form.addRow("Sex", sexLayout) self.form.addRow("Height", self.height) self.form.addRow("Mass", self.mass) self.layout.addLayout(self.form) self.layout.addLayout(btnLayout) self.setLayout(self.layout) def getLayout(self): return self.layout def getWidget(self): widget = QWidget() widget.setLayout(self.layout) return widget def setProfile(self, athlete): self.name.setText(athlete._name) self.surname.setText(athlete._surname) self.birthdate.setSelectedDate(athlete._birthDate) if athlete._sex=="Male": self.male.setChecked(True) else: self.female.setChecked(True) self.height.setValue(athlete._height) self.mass.setValue(athlete._mass) def getProfile(self): qDate = self.birthdate.selectedDate() birthDate = self.qDate_to_date(qDate) athleteProfile = Athlete(self.name.text(), self.surname.text(), self._getSex(), birthDate, self.height.value(), self.mass.value()) return athleteProfile def qDate_to_date(self, qDate): return date(qDate.year(), qDate.month(),qDate.day()) def _getSex(self): if (self.male.isChecked()): return "Male" elif (self.female.isChecked()): return "Female" else : print "Error: No sex selected" return False