QWidget* createLfo(QGroupBox* parent, uint i) { uint off = i * LFO_OFF; parent->setCheckable(true); connectBox(p_lfo1_on + off, parent); QGridLayout* grid = new QGridLayout(parent); // row 1 QComboBox* typeBox = createSelect(p_lfo1_type + off, lfo_types, 6); lfoMapper.setMapping(typeBox, i); connect(typeBox, SIGNAL(currentIndexChanged(int)), &lfoMapper, SLOT(map())); grid->addWidget(typeBox, 0, 0, 1, 2); grid->addWidget(createSelect(p_lfo1_reset_type + off, lfo_reset_types, 3), 0, 2, 1, 2); grid->addWidget(connectToLfo(createToggle(p_lfo1_inv + off, "Inv"), i), 0, 4); // row 2-4 grid->addWidget(lfo_wd[i] = new WaveDisplay(LFO_WIDTH, WAVE_HEIGHT), 1, 0, 3, 3); // row 5 grid->addWidget(createDial(p_lfo1_freq + off), 4, 0); grid->addWidget(connectToLfo(createDial(p_lfo1_start + off), i), 4, 1); grid->addWidget(connectToLfo(createDial(p_lfo1_width + off), i), 4, 2); grid->addWidget(createDial(p_lfo1_humanize + off), 4, 3); // row 6 grid->addWidget(new QLabel("Freq"), 5, 0); grid->addWidget(new QLabel("Start"), 5, 1); grid->addWidget(new QLabel("Width"), 5, 2); grid->addWidget(new QLabel("Rand"), 5, 3); // row 7 grid->addWidget(createLabel(p_lfo1_freq + off), 6, 0); grid->addWidget(createLabel(p_lfo1_start + off), 6, 1); grid->addWidget(createLabel(p_lfo1_width + off), 6, 2); grid->addWidget(createLabel(p_lfo1_humanize + off), 6, 3); grid->setHorizontalSpacing(2); grid->setVerticalSpacing(0); grid->setColumnStretch(5, 1); grid->setRowStretch(7, 1); return parent; }
QWidget* createPhaser(QGroupBox* parent) { parent->setObjectName("phaser"); parent->setCheckable(true); connectBox(p_phaser_on, parent); QGridLayout* grid = new QGridLayout(parent); // row 1 grid->addWidget(createDial(p_phaser_min_freq), 0, 0); grid->addWidget(createDial(p_phaser_max_freq), 0, 1); grid->addWidget(createDial(p_phaser_rate), 0, 2); grid->addWidget(createDial(p_phaser_depth), 0, 3); grid->addWidget(createDial(p_phaser_feedback), 0, 4); // row 2 grid->addWidget(new QLabel("Min Fr"), 1, 0); grid->addWidget(new QLabel("Max Fr"), 1, 1); grid->addWidget(new QLabel("Mod frq"), 1, 2); grid->addWidget(new QLabel("Depth"), 1, 3); grid->addWidget(new QLabel("Feedb"), 1, 4); // row 3 grid->addWidget(createLabel(p_phaser_min_freq), 2, 0); grid->addWidget(createLabel(p_phaser_max_freq), 2, 1); grid->addWidget(createLabel(p_phaser_rate), 2, 2); grid->addWidget(createLabel(p_phaser_depth), 2, 3); grid->addWidget(createLabel(p_phaser_feedback), 2, 4); grid->setHorizontalSpacing(2); grid->setVerticalSpacing(0); grid->setColumnStretch(5, 1); return parent; }
QWidget* createReverb(QGroupBox* parent) { parent->setObjectName("reverb"); parent->setCheckable(true); connectBox(p_reverb_on, parent); QGridLayout* grid = new QGridLayout(parent); // row 1 grid->addWidget(createDial(p_reverb_predelay), 0, 0); grid->addWidget(createDial(p_reverb_decay), 0, 1); grid->addWidget(createDial(p_reverb_lowcut), 0, 2); grid->addWidget(createDial(p_reverb_highcut), 0, 3); grid->addWidget(createDial(p_reverb_depth), 0, 4); // row 2 grid->addWidget(new QLabel("Predelay"), 1, 0); grid->addWidget(new QLabel("Decay"), 1, 1); grid->addWidget(new QLabel("Lowcut"), 1, 2); grid->addWidget(new QLabel("Highcut"), 1, 3); grid->addWidget(new QLabel("Depth"), 1, 4); // row 4 grid->addWidget(createLabel(p_reverb_predelay), 2, 0); grid->addWidget(createLabel(p_reverb_decay), 2, 1); grid->addWidget(createLabel(p_reverb_lowcut), 2, 2); grid->addWidget(createLabel(p_reverb_highcut), 2, 3); grid->addWidget(createLabel(p_reverb_depth), 2, 4); grid->setHorizontalSpacing(2); grid->setVerticalSpacing(0); grid->setColumnStretch(5, 1); return parent; }
QWidget* createChorus(QGroupBox* parent) { parent->setObjectName("chorus"); parent->setCheckable(true); connectBox(p_chorus_on, parent); QGridLayout* grid = new QGridLayout(parent); // row 1 grid->addWidget(createDial(p_chorus_delay), 0, 0); grid->addWidget(createDial(p_chorus_amount), 0, 1); grid->addWidget(createDial(p_chorus_rate), 0, 2); grid->addWidget(createDial(p_chorus_depth), 0, 3); grid->addWidget(createDial(p_chorus_feedback), 0, 4); // row 2 grid->addWidget(new QLabel("Delay"), 1, 0); grid->addWidget(new QLabel("Mod amt"), 1, 1); grid->addWidget(new QLabel("Mod frq"), 1, 2); grid->addWidget(new QLabel("Depth"), 1, 3); grid->addWidget(new QLabel("Feedb"), 1, 4); // row 3 grid->addWidget(createLabel(p_chorus_delay), 2, 0); grid->addWidget(createLabel(p_chorus_amount), 2, 1); grid->addWidget(createLabel(p_chorus_rate), 2, 2); grid->addWidget(createLabel(p_chorus_depth), 2,3); grid->addWidget(createLabel(p_chorus_feedback), 2, 4); grid->setHorizontalSpacing(2); grid->setVerticalSpacing(0); grid->setColumnStretch(5, 1); return parent; }
QWidget* createMain(QWidget* parent) { parent->setObjectName("main"); QGridLayout* grid = new QGridLayout(parent); // row 1 grid->addWidget(createDial(p_volume), 0, 0); grid->addWidget(createSelect(p_play_mode, modes, 3), 0, 1); grid->addWidget(createDial(p_glide_time), 0, 2); grid->addWidget(createDial(p_pitchbend_range), 0, 3); // row 2 grid->addWidget(new QLabel("Vol"), 1, 0); grid->addWidget(new QLabel("Mode"), 1, 1); grid->addWidget(new QLabel("Glide t."), 1, 2); grid->addWidget(new QLabel("Bend r."), 1, 3); // row 3 grid->addWidget(createLabel(p_volume), 2, 0); // skip grid->addWidget(createLabel(p_glide_time), 2, 2); grid->addWidget(createLabel(p_pitchbend_range), 2, 3); grid->setHorizontalSpacing(2); grid->setVerticalSpacing(0); grid->setColumnStretch(4, 1); grid->setRowStretch(3, 1); return parent; }
QWidget* createOutput(QWidget* parent, uint vol, uint pan) { QGridLayout* grid = new QGridLayout(parent); // row 1 grid->addWidget(createDial(vol), 0, 0); grid->addWidget(createDial(pan), 0, 1); // row 2 grid->addWidget(new QLabel("Vol"), 1, 0); grid->addWidget(new QLabel("Pan"), 1, 1); // row 3 grid->addWidget(createLabel(vol), 2, 0); grid->addWidget(createLabel(pan), 2, 1); grid->setHorizontalSpacing(2); grid->setVerticalSpacing(0); grid->setRowStretch(3, 1); return parent; }
CockpitGrid::CockpitGrid(QWidget *parent): QFrame(parent) { #if QT_VERSION >= 0x040100 setAutoFillBackground(true); #endif setPalette(colorTheme(QColor(Qt::darkGray).dark(150))); QGridLayout *layout = new QGridLayout(this); layout->setSpacing(5); layout->setMargin(0); int i; for ( i = 0; i < 3; i++ ) { QwtDial *dial = createDial(i); layout->addWidget(dial, 0, i); } #if QT_VERSION < 0x040000 for ( i = 0; i < layout->numCols(); i++ ) layout->setColStretch(i, 1); #else for ( i = 0; i < layout->columnCount(); i++ ) layout->setColumnStretch(i, 1); #endif }
QWidget* createMixer(QWidget* parent, uint i) { int off = i * OSC_OFF; QGridLayout* grid = new QGridLayout(parent); // row 1 grid->addWidget(createDial(p_osc1_level_a + off), 0, 0); grid->addWidget(createDial(p_osc1_level_b + off), 0, 1); // row 2 grid->addWidget(new QLabel("Vol A"), 1, 0); grid->addWidget(new QLabel("Vol B"), 1, 1); // row 3 grid->addWidget(createLabel(p_osc1_level_a + off), 2, 0); grid->addWidget(createLabel(p_osc1_level_b + off), 2, 1); grid->setHorizontalSpacing(2); grid->setVerticalSpacing(0); grid->setRowStretch(3, 1); return parent; }
QWidget* createFilter(QGroupBox* parent, uint i) { uint off = i * DCF_OFF; parent->setCheckable(true); connectBox(p_filter1_on + off, parent); QGridLayout* grid = new QGridLayout(parent); // row 1 QComboBox* typeBox = createSelect(p_filter1_type + off, filter_types, 12); filterMapper.setMapping(typeBox, i); connect(typeBox, SIGNAL(currentIndexChanged(int)), &filterMapper, SLOT(map())); grid->addWidget(typeBox, 0, 0, 1, 2); grid->addWidget(createSelect(p_filter1_source + off, filter_sources, 2 + i), 0, 2, 1, 2); // row 2 grid->addWidget(filter_wd[i] = new WaveDisplay(DCF_WIDTH, WAVE_HEIGHT), 1, 0, 3, 3); grid->addWidget(createDial(p_filter1_distortion + off), 1, 3); grid->addWidget(createDial(p_filter1_key_to_f + off), 1, 4); grid->addWidget(createDial(p_filter1_vel_to_f + off), 1, 5); // row 3 grid->addWidget(new QLabel("Dist"), 2, 3); grid->addWidget(new QLabel("K > F"), 2, 4); grid->addWidget(new QLabel("V > F"), 2, 5); // row 4 grid->addWidget(createLabel(p_filter1_distortion + off), 3, 3); grid->addWidget(createLabel(p_filter1_key_to_f + off), 3, 4); grid->addWidget(createLabel(p_filter1_vel_to_f + off), 3, 5); // row 5 grid->addWidget(connectToFilter(createDial(p_filter1_freq + off), i), 4, 0); grid->addWidget(connectToFilter(createDial(p_filter1_q + off), i), 4, 1); //grid->addWidget(createDial(p_filter1_level + off), 4, 2); //grid->addWidget(createDial(p_filter1_pan + off), 4, 3); // row 6 grid->addWidget(new QLabel("Freq"), 5, 0); grid->addWidget(new QLabel("Res"), 5, 1); //grid->addWidget(new QLabel("Vol"), 5, 2); //grid->addWidget(new QLabel("Pan"), 5, 3); // row 7 grid->addWidget(createLabel(p_filter1_freq + off), 6, 0); grid->addWidget(createLabel(p_filter1_q + off), 6, 1); //grid->addWidget(createLabel(p_filter1_level + off), 6, 2); //grid->addWidget(createLabel(p_filter1_pan + off), 6, 3); grid->setHorizontalSpacing(2); grid->setVerticalSpacing(0); grid->setRowStretch(7, 1); return parent; }
QWidget* createMod(QWidget* parent, uint off) { QGridLayout* grid = new QGridLayout(parent); for (uint j = 0; j < 10; j += 2) { grid->addWidget(createSelect(p_mod1_src + off, mod_src_labels, M_SIZE), j, 0); grid->addWidget(createSelect(p_mod1_target + off, mod_target_labels, M_TARGET_SIZE), j + 1, 0); grid->addWidget(createDial(p_mod1_amount + off), j, 1, 2, 1); off += 3; } grid->setSpacing(1); grid->setRowStretch(10, 1); return parent; }
QWidget* createEnv(QGroupBox* parent, uint i) { uint off = i * ENV_OFF; parent->setCheckable(true); connectBox(p_env1_on + off, parent); QGridLayout* grid = new QGridLayout(parent); // row 1 grid->addWidget(createToggle(p_env1_retrigger + off, "Retr"), 0, 0); // row 2 grid->addWidget(env_wd[i] = new WaveDisplay(ENV_WIDTH, WAVE_HEIGHT), 1, 0, 3, 3); grid->addWidget(connectToEnv(createDial(p_env1_pre_delay + off), i), 1, 3); grid->addWidget(connectToEnv(createDial(p_env1_curve + off), i), 1, 4); // row 3 grid->addWidget(new QLabel("Pre"), 2, 3); grid->addWidget(new QLabel("Curve"), 2, 4); // row 4 grid->addWidget(createLabel(p_env1_pre_delay + off), 3, 3); grid->addWidget(createLabel(p_env1_curve + off), 3, 4); // row 5 grid->addWidget(connectToEnv(createDial(p_env1_attack + off), i), 4, 0); grid->addWidget(connectToEnv(createDial(p_env1_hold + off), i), 4, 1); grid->addWidget(connectToEnv(createDial(p_env1_decay + off), i), 4, 2); grid->addWidget(connectToEnv(createDial(p_env1_sustain + off), i), 4, 3); grid->addWidget(connectToEnv(createDial(p_env1_release + off), i), 4, 4); // row 6 grid->addWidget(new QLabel("A"), 5, 0); grid->addWidget(new QLabel("H"), 5, 1); grid->addWidget(new QLabel("D"), 5, 2); grid->addWidget(new QLabel("S"), 5, 3); grid->addWidget(new QLabel("R"), 5, 4); // row 7 grid->addWidget(createLabel(p_env1_attack + off), 6, 0); grid->addWidget(createLabel(p_env1_hold + off), 6, 1); grid->addWidget(createLabel(p_env1_decay + off), 6, 2); grid->addWidget(createLabel(p_env1_sustain + off), 6, 3); grid->addWidget(createLabel(p_env1_release + off), 6, 4); grid->setHorizontalSpacing(2); grid->setVerticalSpacing(0); grid->setColumnStretch(7, 1); grid->setRowStretch(7, 1); return parent; }
QWidget* createDelay(QGroupBox* parent) { parent->setObjectName("delay"); parent->setCheckable(true); connectBox(p_delay_on, parent); QGridLayout* grid = new QGridLayout(parent); // row 1 grid->addWidget(createDial(p_delay_bpm), 0, 0); grid->addWidget(createDial(p_delay_divider_l), 0, 1); grid->addWidget(createDial(p_delay_divider_r), 0, 2); grid->addWidget(createDial(p_delay_depth), 0, 3); grid->addWidget(createDial(p_delay_feedback), 0, 4); grid->addWidget(createDial(p_delay_pingpong), 0, 5); grid->addWidget(createDial(p_delay_lowcut), 0, 6); grid->addWidget(createDial(p_delay_highcut), 0, 7); // row 2 grid->addWidget(new QLabel("BPM"), 1, 0); grid->addWidget(new QLabel("Divider L"), 1, 1); grid->addWidget(new QLabel("Divider R"), 1, 2); grid->addWidget(new QLabel("Depth"), 1, 3); grid->addWidget(new QLabel("Feedb"), 1, 4); grid->addWidget(new QLabel("Pingpong"), 1, 5); grid->addWidget(new QLabel("Lowcut"), 1, 6); grid->addWidget(new QLabel("Highcut"), 1, 7); // row 3 grid->addWidget(createLabel(p_delay_bpm), 2, 0); grid->addWidget(createLabel(p_delay_divider_l), 2, 1); grid->addWidget(createLabel(p_delay_divider_r), 2, 2); grid->addWidget(createLabel(p_delay_depth), 2, 3); grid->addWidget(createLabel(p_delay_feedback), 2, 4); grid->addWidget(createLabel(p_delay_pingpong), 2, 5); grid->addWidget(createLabel(p_delay_lowcut), 2, 6); grid->addWidget(createLabel(p_delay_highcut), 2, 7); grid->setHorizontalSpacing(2); grid->setVerticalSpacing(0); grid->setColumnStretch(8, 1); return parent; }
QWidget* createOscillator(QGroupBox* parent, uint i) { uint off = i * OSC_OFF; parent->setCheckable(true); connectBox(p_osc1_on + off, parent); QGridLayout* grid = new QGridLayout(parent); // row 1 QComboBox* typeBox = createSelect(p_osc1_type + off, osc_types, 29 + 3 + 4 + 4); oscMapper.setMapping(typeBox, i); connect(typeBox, SIGNAL(currentIndexChanged(int)), &oscMapper, SLOT(map())); grid->addWidget(typeBox, 0, 0, 1, 2); grid->addWidget(connectToOsc(createToggle(p_osc1_inv + off, "Inv"), i), 0, 2); grid->addWidget(createToggle(p_osc1_tracking + off, "Track"), 0, 3); if (i > 0) { grid->addWidget(createToggle(p_osc1_free + off, "Free"), 0, 4); grid->addWidget(createToggle(p_osc1_sync + off, "Sync"), 0, 5); } else { grid->addWidget(createToggle(p_osc1_free + off, "Free"), 0, 4); } // row 2 grid->addWidget(osc_wd[i] = new WaveDisplay(OSC_WIDTH, WAVE_HEIGHT), 1, 0, 3, 3); grid->addWidget(createDial(p_osc1_coarse + off), 1, 3); grid->addWidget(createDial(p_osc1_fine + off), 1, 4); grid->addWidget(createDial(p_osc1_ratio + off), 1, 5); grid->addWidget(createDial(p_osc1_level + off), 1, 6); // row 3 grid->addWidget(new QLabel("Coarse"), 2, 3); grid->addWidget(new QLabel("Fine"), 2, 4); grid->addWidget(new QLabel("Ratio"), 2, 5); grid->addWidget(new QLabel("Level"), 2, 6); // row 4 grid->addWidget(createLabel(p_osc1_coarse + off), 3, 3); grid->addWidget(createLabel(p_osc1_fine + off), 3, 4); grid->addWidget(createLabel(p_osc1_ratio + off), 3, 5); grid->addWidget(createLabel(p_osc1_level + off), 3, 6); // row 5 grid->addWidget(connectToOsc(createDial(p_osc1_start + off), i), 4, 0); grid->addWidget(connectToOsc(createDial(p_osc1_width + off), i), 4, 1); if (i > 0) { grid->addWidget(createSelect(p_osc1_input + off, nums, i), 4, 3); grid->addWidget(createDial(p_osc1_pm + off), 4, 4); grid->addWidget(createSelect(p_osc1_input2 + off, nums, i), 4, 5); grid->addWidget(createSelect(p_osc1_out_mod + off, out_mod, 4), 4, 6); } // row 6 grid->addWidget(new QLabel("Start"), 5, 0); grid->addWidget(new QLabel("Width"), 5, 1); if (i > 0) { grid->addWidget(new QLabel("Input"), 5, 3); grid->addWidget(new QLabel("PM"), 5, 4); grid->addWidget(new QLabel("Input 2"), 5, 5); grid->addWidget(new QLabel("Mod"), 5, 6); } // row 7 grid->addWidget(createLabel(p_osc1_start + off), 6, 0); grid->addWidget(createLabel(p_osc1_width + off), 6, 1); if (i > 0) { grid->addWidget(createLabel(p_osc1_pm + off), 6, 4); } grid->setHorizontalSpacing(2); grid->setVerticalSpacing(0); grid->setColumnStretch(7, 1); grid->setRowStretch(7, 1); return parent; }
void DataWidget::setUI() { mainLayout = new QHBoxLayout(); horizonLayout = new QVBoxLayout(); horizonData = new QGridLayout(); compassLayout = new QVBoxLayout(); compassData = new QGridLayout(); altLayout = new QVBoxLayout(); altData = new QGridLayout(); yawLabel = new QLabel(); yawLabel->setObjectName(QString::fromUtf8("yawLabel")); yawLabel->setGeometry(QRect(260, 130, 41, 21)); altdLabel = new QLabel(); altdLabel->setObjectName(QString::fromUtf8("altdLabel")); altdLabel->setGeometry(QRect(260, 290, 41, 21)); pitchLabel = new QLabel(); pitchLabel->setObjectName(QString::fromUtf8("pitchLabel")); pitchLabel->setGeometry(QRect(70, 250, 41, 21)); rollLabel = new QLabel(); rollLabel->setObjectName(QString::fromUtf8("rollLabel")); rollLabel->setGeometry(QRect(70, 270, 41, 21)); pitchValue = new QLabel(); pitchValue->setObjectName(QString::fromUtf8("pitchValue")); pitchValue->setGeometry(QRect(110, 250, 65, 21)); pitchValue->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); rollValue = new QLabel(); rollValue->setObjectName(QString::fromUtf8("rollValue")); rollValue->setGeometry(QRect(110, 270, 65, 21)); rollValue->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); altdValue = new QLabel(); altdValue->setObjectName(QString::fromUtf8("altdValue")); altdValue->setGeometry(QRect(300, 290, 65, 21)); altdValue->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); yawValue = new QLabel(); yawValue->setObjectName(QString::fromUtf8("yawValue")); yawValue->setGeometry(QRect(300, 130, 65, 21)); yawValue->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); yawG = new QLabel(); yawG->setObjectName(QString::fromUtf8("yawG")); yawG->setGeometry(QRect(370, 130, 16, 21)); pitchG = new QLabel(); pitchG->setObjectName(QString::fromUtf8("pitchG")); pitchG->setGeometry(QRect(180, 250, 16, 21)); rollG = new QLabel(); rollG->setObjectName(QString::fromUtf8("rollG")); rollG->setGeometry(QRect(180, 270, 16, 21)); altdM = new QLabel(); altdM->setObjectName(QString::fromUtf8("altdM")); altdM->setGeometry(QRect(370, 290, 16, 21)); yawLabel->setText(QApplication::translate("DataWidget", "Yaw:", 0, QApplication::UnicodeUTF8)); altdLabel->setText(QApplication::translate("DataWidget", "Altd.:", 0, QApplication::UnicodeUTF8)); pitchLabel->setText(QApplication::translate("DataWidget", "Pitch:", 0, QApplication::UnicodeUTF8)); rollLabel->setText(QApplication::translate("DataWidget", "Roll:", 0, QApplication::UnicodeUTF8)); pitchValue->setText(QApplication::translate("DataWidget", "0", 0, QApplication::UnicodeUTF8)); rollValue->setText(QApplication::translate("DataWidget", "0", 0, QApplication::UnicodeUTF8)); altdValue->setText(QApplication::translate("DataWidget", "10", 0, QApplication::UnicodeUTF8)); yawValue->setText(QApplication::translate("DataWidget", "0", 0, QApplication::UnicodeUTF8)); yawG->setText(QApplication::translate("DataWidget", "\302\272", 0, QApplication::UnicodeUTF8)); pitchG->setText(QApplication::translate("DataWidget", "\302\272", 0, QApplication::UnicodeUTF8)); rollG->setText(QApplication::translate("DataWidget", "\302\272", 0, QApplication::UnicodeUTF8)); altdM->setText(QApplication::translate("DataWidget", "m", 0, QApplication::UnicodeUTF8)); horizonData->addWidget(pitchLabel,0,0,Qt::AlignCenter); horizonData->addWidget(pitchValue,0,1,Qt::AlignCenter); horizonData->addWidget(pitchG,0,2,Qt::AlignCenter); horizonData->addWidget(rollLabel,1,0,Qt::AlignCenter); horizonData->addWidget(rollValue,1,1,Qt::AlignCenter); horizonData->addWidget(rollG,1,2,Qt::AlignCenter); compassData->addWidget(yawLabel,0,0,Qt::AlignCenter); compassData->addWidget(yawValue,0,1,Qt::AlignCenter); altData->addWidget(altdLabel,0,0,Qt::AlignCenter); altData->addWidget(altdValue,0,1,Qt::AlignCenter); horizon=createDial(0); horizon->setGeometry(QRect(750,80,200,200)); horizon->setMinimumSize(200,200); horizonLayout->addWidget(horizon); horizonLayout->addLayout(horizonData); compass=createCompass(1); compass->setGeometry(QRect(0,0,200,200)); compass->setMinimumSize(200,200); compass->setReadOnly(true); compassLayout->addWidget(compass); compassLayout->addLayout(compassData); altd=createDial(2); altd->setGeometry(QRect(970,200,115,135)); altd->setMinimumSize(115,135); altLayout->addWidget(altd); altLayout->addLayout(altData); mainLayout->addLayout(horizonLayout); mainLayout->addLayout(compassLayout); mainLayout->addLayout(altLayout); setLayout(mainLayout); }