本文整理汇总了C++中QMdiSubWindow::setWindowFlags方法的典型用法代码示例。如果您正苦于以下问题:C++ QMdiSubWindow::setWindowFlags方法的具体用法?C++ QMdiSubWindow::setWindowFlags怎么用?C++ QMdiSubWindow::setWindowFlags使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QMdiSubWindow
的用法示例。
在下文中一共展示了QMdiSubWindow::setWindowFlags方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: BuildCharacterTabs
void GameForm::BuildCharacterTabs(){
tabsWidget = new CharacterTabs();
QMdiSubWindow* tabsWindow = ui->gameArea->addSubWindow(tabsWidget);
tabsWindow->setWindowTitle("PlayerName");
tabsWindow->setWindowFlags(Qt::CustomizeWindowHint | Qt::WindowTitleHint);
tabsWindow->setFixedSize(tabsWidget->width()+15, tabsWidget->height()+35);
}
示例2: BuildTownWindow
void GameForm::BuildTownWindow(){
townWidget = new TownWidget();
QMdiSubWindow* townWindow = ui->gameArea->addSubWindow(townWidget);
townWindow->setWindowTitle("The City");
townWindow->setWindowFlags(Qt::CustomizeWindowHint | Qt::WindowTitleHint);
townWindow->setFixedSize(townWidget->width()+15, townWidget->height()+35);
}
示例3: new_combo_trade
void MainWindow::new_combo_trade()
{
ComboTradeDialog *comboTradeDialog = new ComboTradeDialog;
QMdiSubWindow *qMdiSubWindow = ui_->mdiArea_combo->addSubWindow(comboTradeDialog);
qMdiSubWindow->setAttribute(Qt::WA_DeleteOnClose);
qMdiSubWindow->setFixedSize(320, 240);
qMdiSubWindow->setWindowFlags(qMdiSubWindow->windowFlags()& ~Qt::WindowMaximizeButtonHint& ~Qt::WindowMinimizeButtonHint);
qMdiSubWindow->show();
}
示例4: new_swing_trade
void MainWindow::new_swing_trade()
{
QString contractName = tr("Exchange-Contract-").append(QString("%1").arg(swing_counter_));
SwingTradeDialog *swingTradeDialog = new SwingTradeDialog(contractName, swing_counter_, disp_, this);
connect(swingTradeDialog, SIGNAL(update_contract(QString)), this, SLOT(update_swing_contract(QString)));
QMdiSubWindow *qMdiSubWindow = ui_->mdiArea_swing->addSubWindow(swingTradeDialog);
qMdiSubWindow->setAttribute(Qt::WA_DeleteOnClose);
qMdiSubWindow->setFixedSize(265, 440);
qMdiSubWindow->setWindowFlags(qMdiSubWindow->windowFlags()& ~Qt::WindowMaximizeButtonHint& ~Qt::WindowMinimizeButtonHint);
qMdiSubWindow->setWindowTitle(contractName);
qMdiSubWindow->show();
swing_counter_++;
selcon_->setCurrentText(contractName);
}
示例5: tr
ControllerRackView::ControllerRackView( ) :
QWidget()
{
setMinimumWidth( 250 );
setMaximumWidth( 250 );
resize( 250, 160 );
setWindowIcon( embed::getIconPixmap( "controller" ) );
setWindowTitle( tr( "Controller Rack" ) );
m_scrollArea = new QScrollArea( this );
m_scrollArea->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOn );
m_scrollArea->setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
m_scrollArea->setPalette( QApplication::palette( m_scrollArea ) );
m_scrollArea->setMinimumHeight( 64 );
m_addButton = new QPushButton( this );
m_addButton->setText( tr( "Add" ) );
QWidget * w = new QWidget();
m_scrollArea->setWidget( w );
connect( m_addButton, SIGNAL( clicked() ),
this, SLOT( addController() ) );
connect( engine::getSong(), SIGNAL( dataChanged() ),
this, SLOT( update() ) );
QVBoxLayout * layout = new QVBoxLayout();
layout->addWidget( m_scrollArea );
layout->addWidget( m_addButton );
this->setLayout( layout );
QMdiSubWindow * subWin =
engine::mainWindow()->workspace()->addSubWindow( this );
// No maximize button
Qt::WindowFlags flags = subWin->windowFlags();
flags &= ~Qt::WindowMaximizeButtonHint;
subWin->setWindowFlags( flags );
parentWidget()->setAttribute( Qt::WA_DeleteOnClose, false );
parentWidget()->move( 880, 310 );
}
示例6: QVBoxLayout
//.........这里部分代码省略.........
m_saveSettingsBtn = new QPushButton( embed::getIconPixmap(
"project_save" ), "",
m_generalSettingsWidget );
m_saveSettingsBtn->setGeometry( 216, 14, 24, 24 );
connect( m_saveSettingsBtn, SIGNAL( clicked() ), this,
SLOT( saveSettingsBtnClicked() ) );
toolTip::add( m_saveSettingsBtn,
tr( "Save instrument track settings in a preset file" ) );
m_saveSettingsBtn->setWhatsThis(
tr( "Click here, if you want to save current channel settings "
"in a preset-file. Later you can load this preset by "
"double-clicking it in the preset-browser." ) );
// setup volume-knob
m_volumeKnob = new knob( knobBright_26, m_generalSettingsWidget,
tr( "Instrument volume" ) );
m_volumeKnob->setVolumeKnob( true );
m_volumeKnob->move( 8, 46 );
m_volumeKnob->setHintText( tr( "Volume:" ) + " ", "%" );
m_volumeKnob->setLabel( tr( "VOL" ) );
m_volumeKnob->setWhatsThis( tr( volume_help ) );
// setup panning-knob
m_panningKnob = new knob( knobBright_26, m_generalSettingsWidget,
tr( "Panning" ) );
m_panningKnob->move( m_volumeKnob->x() +
m_volumeKnob->width() + 12, 46 );
m_panningKnob->setHintText( tr( "Panning:" ) + " ", "" );
m_panningKnob->setLabel( tr( "PAN" ) );
m_pitchKnob = new knob( knobBright_26, m_generalSettingsWidget,
tr( "Pitch" ) );
m_pitchKnob->move( m_panningKnob->x() +
m_panningKnob->width() + 24, 46 );
m_pitchKnob->setHintText( tr( "Pitch:" ) + " ", " " + tr( "cents" ) );
m_pitchKnob->setLabel( tr( "PITCH" ) );
m_pitchRange = new lcdSpinBox( 2, m_generalSettingsWidget,
tr( "Pitch range (semitones)" ) );
m_pitchRange->setLabel( tr( "RANGE" ) );
m_pitchRange->move( m_pitchKnob->x() +
m_pitchKnob->width() + 8, 46 );
// setup spinbox for selecting FX-channel
m_effectChannelNumber = new fxLineLcdSpinBox( 2, m_generalSettingsWidget,
tr( "FX channel" ) );
m_effectChannelNumber->setLabel( tr( "FX CHNL" ) );
m_effectChannelNumber->move( m_pitchRange->x() +
m_pitchRange->width() + 24, 46 );
m_tabWidget = new tabWidget( "", this );
m_tabWidget->setFixedHeight( INSTRUMENT_HEIGHT + 10 );
// create tab-widgets
m_ssView = new InstrumentSoundShapingView( m_tabWidget );
QWidget * instrument_functions = new QWidget( m_tabWidget );
m_chordView = new ChordCreatorView( &m_track->m_chordCreator,
instrument_functions );
m_arpView= new ArpeggiatorView( &m_track->m_arpeggiator,
instrument_functions );
m_midiView = new InstrumentMidiIOView( m_tabWidget );
m_effectView = new EffectRackView( m_track->m_audioPort.effects(),
m_tabWidget );
m_tabWidget->addTab( m_ssView, tr( "ENV/LFO" ), 1 );
m_tabWidget->addTab( instrument_functions, tr( "FUNC" ), 2 );
m_tabWidget->addTab( m_effectView, tr( "FX" ), 3 );
m_tabWidget->addTab( m_midiView, tr( "MIDI" ), 4 );
// setup piano-widget
m_pianoView = new PianoView( this );
vlayout->addWidget( m_generalSettingsWidget );
vlayout->addWidget( m_tabWidget );
vlayout->addWidget( m_pianoView );
setModel( _itv->model() );
updateInstrumentView();
setFixedWidth( INSTRUMENT_WIDTH );
resize( sizeHint() );
QMdiSubWindow * subWin =
engine::mainWindow()->workspace()->addSubWindow( this );
Qt::WindowFlags flags = subWin->windowFlags();
flags |= Qt::MSWindowsFixedSizeDialogHint;
flags &= ~Qt::WindowMaximizeButtonHint;
subWin->setWindowFlags( flags );
subWin->setWindowIcon( embed::getIconPixmap( "instrument_track" ) );
subWin->setFixedSize( subWin->size() );
subWin->hide();
}
示例7: QVBoxLayout
//.........这里部分代码省略.........
basicControlsLayout->setColumnStretch(5, 1);
// setup spinbox for selecting FX-channel
m_effectChannelNumber = new fxLineLcdSpinBox( 2, NULL, tr( "FX channel" ) );
basicControlsLayout->addWidget( m_effectChannelNumber, 0, 6 );
basicControlsLayout->setAlignment( m_effectChannelNumber, widgetAlignment );
label = new QLabel( tr( "FX" ), this );
label->setStyleSheet( labelStyleSheet );
basicControlsLayout->addWidget( label, 1, 6);
basicControlsLayout->setAlignment( label, labelAlignment );
QPushButton* saveSettingsBtn = new QPushButton( embed::getIconPixmap( "project_save" ), QString() );
saveSettingsBtn->setMinimumSize( 32, 32 );
connect( saveSettingsBtn, SIGNAL( clicked() ), this, SLOT( saveSettingsBtnClicked() ) );
ToolTip::add( saveSettingsBtn, tr( "Save current instrument track settings in a preset file" ) );
saveSettingsBtn->setWhatsThis(
tr( "Click here, if you want to save current instrument track settings in a preset file. "
"Later you can load this preset by double-clicking it in the preset-browser." ) );
basicControlsLayout->addWidget( saveSettingsBtn, 0, 7 );
label = new QLabel( tr( "SAVE" ), this );
label->setStyleSheet( labelStyleSheet );
basicControlsLayout->addWidget( label, 1, 7);
basicControlsLayout->setAlignment( label, labelAlignment );
generalSettingsLayout->addLayout( basicControlsLayout );
m_tabWidget = new TabWidget( "", this );
m_tabWidget->setFixedHeight( INSTRUMENT_HEIGHT + 10 );
// create tab-widgets
m_ssView = new InstrumentSoundShapingView( m_tabWidget );
// FUNC tab
QWidget* instrumentFunctions = new QWidget( m_tabWidget );
QVBoxLayout* instrumentFunctionsLayout = new QVBoxLayout( instrumentFunctions );
instrumentFunctionsLayout->setMargin( 5 );
m_noteStackingView = new InstrumentFunctionNoteStackingView( &m_track->m_noteStacking );
m_arpeggioView = new InstrumentFunctionArpeggioView( &m_track->m_arpeggio );
instrumentFunctionsLayout->addWidget( m_noteStackingView );
instrumentFunctionsLayout->addWidget( m_arpeggioView );
instrumentFunctionsLayout->addStretch();
// MIDI tab
m_midiView = new InstrumentMidiIOView( m_tabWidget );
// FX tab
m_effectView = new EffectRackView( m_track->m_audioPort.effects(), m_tabWidget );
// MISC tab
m_miscView = new InstrumentMiscView( m_track, m_tabWidget );
m_tabWidget->addTab( m_ssView, tr( "ENV/LFO" ), 1 );
m_tabWidget->addTab( instrumentFunctions, tr( "FUNC" ), 2 );
m_tabWidget->addTab( m_effectView, tr( "FX" ), 3 );
m_tabWidget->addTab( m_midiView, tr( "MIDI" ), 4 );
m_tabWidget->addTab( m_miscView, tr( "MISC" ), 5 );
// setup piano-widget
m_pianoView = new PianoView( this );
m_pianoView->setFixedSize( INSTRUMENT_WIDTH, PIANO_HEIGHT );
vlayout->addWidget( generalSettingsWidget );
vlayout->addWidget( m_tabWidget );
vlayout->addWidget( m_pianoView );
setModel( _itv->model() );
updateInstrumentView();
setFixedWidth( INSTRUMENT_WIDTH );
resize( sizeHint() );
QMdiSubWindow * subWin = gui->mainWindow()->addWindowedWidget( this );
Qt::WindowFlags flags = subWin->windowFlags();
flags |= Qt::MSWindowsFixedSizeDialogHint;
flags &= ~Qt::WindowMaximizeButtonHint;
subWin->setWindowFlags( flags );
// Hide the Size and Maximize options from the system menu
// since the dialog size is fixed.
QMenu * systemMenu = subWin->systemMenu();
systemMenu->actions().at( 2 )->setVisible( false ); // Size
systemMenu->actions().at( 4 )->setVisible( false ); // Maximize
subWin->setWindowIcon( embed::getIconPixmap( "instrument_track" ) );
subWin->setFixedSize( subWin->size() );
subWin->hide();
}
示例8: QVBoxLayout
/* Build Module GUI */
void IScale_DynClamp::Module::createGUI( void ) {
QMdiSubWindow *subWindow = new QMdiSubWindow;
subWindow->setAttribute(Qt::WA_DeleteOnClose);
subWindow->setWindowIcon(QIcon("/usr/local/lib/rtxi/RTXI-widget-icon.png"));
subWindow->setWindowFlags(Qt::CustomizeWindowHint | Qt::WindowCloseButtonHint |
Qt::WindowMinimizeButtonHint );
MainWindow::getInstance()->createMdi(subWindow);
subWindow->setWidget(this);
mainWindow = new IScale_DynClampUI(subWindow);
// Construct Main Layout - vertical layout
QVBoxLayout *layout = new QVBoxLayout(this);
setLayout(layout);
layout->addWidget(mainWindow);
// Model Combo Box
mainWindow->modelComboBox->addItem("LivRudy 2009");
mainWindow->modelComboBox->addItem("FaberRudy 2000");
// Set GUI refresh rate
QTimer *timer = new QTimer(this);
timer->start(500);
// Set validators
mainWindow->APDRepolEdit->setValidator( new QIntValidator(mainWindow->APDRepolEdit) );
mainWindow->minAPDEdit->setValidator( new QIntValidator(mainWindow->minAPDEdit) );
mainWindow->stimWindowEdit->setValidator( new QIntValidator(mainWindow->stimWindowEdit) );
mainWindow->numTrialEdit->setValidator( new QIntValidator(mainWindow->numTrialEdit) );
mainWindow->intervalTimeEdit->setValidator( new QIntValidator(mainWindow->intervalTimeEdit) );
mainWindow->BCLEdit->setValidator( new QDoubleValidator(mainWindow->BCLEdit) );
mainWindow->stimMagEdit->setValidator( new QDoubleValidator(mainWindow->stimMagEdit) );
mainWindow->stimLengthEdit->setValidator( new QDoubleValidator(mainWindow->stimLengthEdit) );
mainWindow->CmEdit->setValidator( new QDoubleValidator(mainWindow->CmEdit) );
mainWindow->LJPEdit->setValidator( new QDoubleValidator(mainWindow->CmEdit) );
// Connect MainWindow elements to slot functions
QObject::connect( mainWindow->addStepButton, SIGNAL(clicked(void)),
this, SLOT( addStep(void)) );
QObject::connect( mainWindow->deleteStepButton, SIGNAL(clicked(void)),
this, SLOT( deleteStep(void)) );
QObject::connect( mainWindow->saveProtocolButton, SIGNAL(clicked(void)),
this, SLOT( saveProtocol(void)) );
QObject::connect( mainWindow->loadProtocolButton, SIGNAL(clicked(void)),
this, SLOT( loadProtocol(void)) );
QObject::connect( mainWindow->clearProtocolButton, SIGNAL(clicked(void)),
this, SLOT( clearProtocol(void)) );
QObject::connect( mainWindow->recordDataCheckBox, SIGNAL(clicked(void)),
this, SLOT( modify(void)) );
QObject::connect( mainWindow->startProtocolButton, SIGNAL(toggled(bool)),
this, SLOT( toggleProtocol(void)) );
QObject::connect( mainWindow->thresholdButton, SIGNAL(clicked(void)),
this, SLOT( toggleThreshold(void)) );
QObject::connect( mainWindow->staticPacingButton, SIGNAL(clicked(void)),
this, SLOT( togglePace(void)) );
QObject::connect( mainWindow->resetButton, SIGNAL(clicked(void)),
this, SLOT( reset(void)) );
QObject::connect( mainWindow->modelComboBox, SIGNAL(activated(int)),
this, SLOT( changeModel(int)) );
QObject::connect( mainWindow->APDRepolEdit, SIGNAL(returnPressed(void)),
this, SLOT( modify(void)) );
QObject::connect( mainWindow->minAPDEdit, SIGNAL(returnPressed(void)),
this, SLOT( modify(void)) );
QObject::connect( mainWindow->stimWindowEdit, SIGNAL(returnPressed(void)),
this, SLOT( modify(void)) );
QObject::connect( mainWindow->numTrialEdit, SIGNAL(returnPressed(void)),
this, SLOT( modify(void)) );
QObject::connect( mainWindow->intervalTimeEdit, SIGNAL(returnPressed(void)),
this, SLOT( modify(void)) );
QObject::connect( mainWindow->BCLEdit, SIGNAL(returnPressed(void)),
this, SLOT( modify(void)) );
QObject::connect( mainWindow->stimMagEdit, SIGNAL(returnPressed(void)),
this, SLOT( modify(void)) );
QObject::connect( mainWindow->stimLengthEdit, SIGNAL(returnPressed(void)),
this, SLOT( modify(void)) );
QObject::connect( mainWindow->CmEdit, SIGNAL(returnPressed(void)),
this, SLOT( modify(void)) );
QObject::connect( mainWindow->LJPEdit, SIGNAL(returnPressed(void)),
this, SLOT( modify(void)) );
QObject::connect(timer, SIGNAL(timeout(void)),
this, SLOT(refreshDisplay(void)));
// Connections to allow only one button being toggled at a time
QObject::connect( mainWindow->thresholdButton, SIGNAL(toggled(bool)),
mainWindow->staticPacingButton, SLOT( setDisabled(bool)) );
QObject::connect( mainWindow->thresholdButton, SIGNAL(toggled(bool)),
mainWindow->startProtocolButton, SLOT( setDisabled(bool)) );
QObject::connect( mainWindow->startProtocolButton, SIGNAL(toggled(bool)),
mainWindow->staticPacingButton, SLOT( setDisabled(bool)) );
QObject::connect( mainWindow->startProtocolButton, SIGNAL(toggled(bool)),
mainWindow->thresholdButton, SLOT( setDisabled(bool)) );
QObject::connect( mainWindow->staticPacingButton, SIGNAL(toggled(bool)),
mainWindow->thresholdButton, SLOT( setDisabled(bool)) );
QObject::connect( mainWindow->staticPacingButton, SIGNAL(toggled(bool)),
mainWindow->startProtocolButton, SLOT( setDisabled(bool)) );
// Connect states to workspace
setData( Workspace::STATE, 0, &time );
setData( Workspace::STATE, 1, &voltage );
//.........这里部分代码省略.........
示例9: keyPressEvent
//.........这里部分代码省略.........
setWindowTitle( tr( "FX-Mixer" ) );
setWindowIcon( embed::getIconPixmap( "fx_mixer" ) );
// main-layout
QHBoxLayout * ml = new QHBoxLayout;
// Set margins
ml->setContentsMargins( 0, 4, 0, 0 );
// Channel area
m_channelAreaWidget = new QWidget;
chLayout = new QHBoxLayout( m_channelAreaWidget );
chLayout->setSizeConstraint( QLayout::SetMinimumSize );
chLayout->setSpacing( 0 );
chLayout->setMargin( 0 );
m_channelAreaWidget->setLayout(chLayout);
// create rack layout before creating the first channel
m_racksWidget = new QWidget;
m_racksLayout = new QStackedLayout( m_racksWidget );
m_racksLayout->setContentsMargins( 0, 0, 0, 0 );
m_racksWidget->setLayout( m_racksLayout );
// add master channel
m_fxChannelViews.resize( m->numChannels() );
m_fxChannelViews[0] = new FxChannelView( this, this, 0 );
m_racksLayout->addWidget( m_fxChannelViews[0]->m_rackView );
FxChannelView * masterView = m_fxChannelViews[0];
ml->addWidget( masterView->m_fxLine, 0, Qt::AlignTop );
QSize fxLineSize = masterView->m_fxLine->size();
// add mixer channels
for( int i = 1; i < m_fxChannelViews.size(); ++i )
{
m_fxChannelViews[i] = new FxChannelView(m_channelAreaWidget, this, i);
chLayout->addWidget( m_fxChannelViews[i]->m_fxLine );
}
// add the scrolling section to the main layout
// class solely for scroll area to pass key presses down
class ChannelArea : public QScrollArea
{
public:
ChannelArea( QWidget * parent, FxMixerView * mv ) :
QScrollArea( parent ), m_mv( mv ) {}
~ChannelArea() {}
virtual void keyPressEvent( QKeyEvent * e )
{
m_mv->keyPressEvent( e );
}
private:
FxMixerView * m_mv;
};
channelArea = new ChannelArea( this, this );
channelArea->setWidget( m_channelAreaWidget );
channelArea->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
channelArea->setFrameStyle( QFrame::NoFrame );
channelArea->setMinimumWidth( fxLineSize.width() * 6 );
channelArea->setFixedHeight( fxLineSize.height() +
style()->pixelMetric( QStyle::PM_ScrollBarExtent ) );
ml->addWidget( channelArea, 1, Qt::AlignTop );
// show the add new effect channel button
QPushButton * newChannelBtn = new QPushButton( embed::getIconPixmap( "new_channel" ), QString::null, this );
newChannelBtn->setObjectName( "newChannelBtn" );
newChannelBtn->setFixedSize( fxLineSize );
connect( newChannelBtn, SIGNAL( clicked() ), this, SLOT( addNewChannel() ) );
ml->addWidget( newChannelBtn, 0, Qt::AlignTop );
// add the stacked layout for the effect racks of fx channels
ml->addWidget( m_racksWidget, 0, Qt::AlignTop | Qt::AlignRight );
setCurrentFxLine( m_fxChannelViews[0]->m_fxLine );
setLayout( ml );
updateGeometry();
// timer for updating faders
connect( gui->mainWindow(), SIGNAL( periodicUpdate() ),
this, SLOT( updateFaders() ) );
// add ourself to workspace
QMdiSubWindow * subWin = gui->mainWindow()->addWindowedWidget( this );
Qt::WindowFlags flags = subWin->windowFlags();
flags &= ~Qt::WindowMaximizeButtonHint;
subWin->setWindowFlags( flags );
layout()->setSizeConstraint( QLayout::SetMinimumSize );
subWin->layout()->setSizeConstraint( QLayout::SetMinAndMaxSize );
parentWidget()->setAttribute( Qt::WA_DeleteOnClose, false );
parentWidget()->move( 5, 310 );
// we want to receive dataChanged-signals in order to update
setModel( m );
}
示例10: QVBoxLayout
//.........这里部分代码省略.........
m_panningKnob = new knob( knobBright_26, NULL, tr( "Panning" ) );
m_panningKnob->setHintText( tr( "Panning:" ) + " ", "" );
m_panningKnob->setLabel( tr( "PAN" ) );
basicControlsLayout->addWidget( m_panningKnob );
basicControlsLayout->addStretch();
// set up pitch knob
m_pitchKnob = new knob( knobBright_26, NULL, tr( "Pitch" ) );
m_pitchKnob->setHintText( tr( "Pitch:" ) + " ", " " + tr( "cents" ) );
m_pitchKnob->setLabel( tr( "PITCH" ) );
basicControlsLayout->addWidget( m_pitchKnob );
// set up pitch range knob
m_pitchRangeSpinBox= new LcdSpinBox( 2, NULL, tr( "Pitch range (semitones)" ) );
m_pitchRangeSpinBox->setLabel( tr( "RANGE" ) );
basicControlsLayout->addWidget( m_pitchRangeSpinBox );
basicControlsLayout->addStretch();
// setup spinbox for selecting FX-channel
m_effectChannelNumber = new fxLineLcdSpinBox( 2, NULL, tr( "FX channel" ) );
m_effectChannelNumber->setLabel( tr( "FX" ) );
basicControlsLayout->addWidget( m_effectChannelNumber );
basicControlsLayout->addStretch();
QPushButton* saveSettingsBtn = new QPushButton( embed::getIconPixmap( "project_save" ), QString() );
saveSettingsBtn->setMinimumSize( 32, 32 );
connect( saveSettingsBtn, SIGNAL( clicked() ), this, SLOT( saveSettingsBtnClicked() ) );
toolTip::add( saveSettingsBtn, tr( "Save current channel settings in a preset-file" ) );
saveSettingsBtn->setWhatsThis(
tr( "Click here, if you want to save current channel settings "
"in a preset-file. Later you can load this preset by "
"double-clicking it in the preset-browser." ) );
basicControlsLayout->addWidget( saveSettingsBtn );
generalSettingsLayout->addLayout( basicControlsLayout );
m_tabWidget = new tabWidget( "", this );
m_tabWidget->setFixedHeight( INSTRUMENT_HEIGHT + 10 );
// create tab-widgets
m_ssView = new InstrumentSoundShapingView( m_tabWidget );
// FUNC tab
QWidget* instrumentFunctions = new QWidget( m_tabWidget );
QVBoxLayout* instrumentFunctionsLayout = new QVBoxLayout( instrumentFunctions );
instrumentFunctionsLayout->setMargin( 5 );
m_noteStackingView = new InstrumentFunctionNoteStackingView( &m_track->m_noteStacking );
m_arpeggioView = new InstrumentFunctionArpeggioView( &m_track->m_arpeggio );
instrumentFunctionsLayout->addWidget( m_noteStackingView );
instrumentFunctionsLayout->addWidget( m_arpeggioView );
instrumentFunctionsLayout->addStretch();
// MIDI tab
m_midiView = new InstrumentMidiIOView( m_tabWidget );
// FX tab
m_effectView = new EffectRackView( m_track->m_audioPort.effects(), m_tabWidget );
m_tabWidget->addTab( m_ssView, tr( "ENV/LFO" ), 1 );
m_tabWidget->addTab( instrumentFunctions, tr( "FUNC" ), 2 );
m_tabWidget->addTab( m_effectView, tr( "FX" ), 3 );
m_tabWidget->addTab( m_midiView, tr( "MIDI" ), 4 );
// setup piano-widget
m_pianoView = new PianoView( this );
m_pianoView->setFixedSize( INSTRUMENT_WIDTH, PIANO_HEIGHT );
vlayout->addWidget( generalSettingsWidget );
vlayout->addWidget( m_tabWidget );
vlayout->addWidget( m_pianoView );
setModel( _itv->model() );
updateInstrumentView();
setFixedWidth( INSTRUMENT_WIDTH );
resize( sizeHint() );
QMdiSubWindow * subWin = engine::mainWindow()->workspace()->addSubWindow( this );
Qt::WindowFlags flags = subWin->windowFlags();
flags |= Qt::MSWindowsFixedSizeDialogHint;
flags &= ~Qt::WindowMaximizeButtonHint;
subWin->setWindowFlags( flags );
subWin->setWindowIcon( embed::getIconPixmap( "instrument_track" ) );
subWin->setFixedSize( subWin->size() );
subWin->hide();
}
示例11: QVBoxLayout
//.........这里部分代码省略.........
QVBoxLayout* generalSettingsLayout = new QVBoxLayout(generalSettingsWidget);
generalSettingsLayout->setContentsMargins(8, 18, 8, 8);
generalSettingsLayout->setSpacing(6);
QWidget* nameWidget = new QWidget(generalSettingsWidget);
QHBoxLayout* nameLayout = new QHBoxLayout(nameWidget);
nameLayout->setContentsMargins(0, 0, 0, 0);
nameLayout->setSpacing(2);
// setup line edit for changing sample track name
m_nameLineEdit = new QLineEdit;
m_nameLineEdit->setFont(pointSize<9>(m_nameLineEdit->font()));
connect(m_nameLineEdit, SIGNAL(textChanged(const QString &)),
this, SLOT(textChanged(const QString &)));
m_nameLineEdit->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred));
nameLayout->addWidget(m_nameLineEdit);
generalSettingsLayout->addWidget(nameWidget);
QGridLayout* basicControlsLayout = new QGridLayout;
basicControlsLayout->setHorizontalSpacing(3);
basicControlsLayout->setVerticalSpacing(0);
basicControlsLayout->setContentsMargins(0, 0, 0, 0);
QString labelStyleSheet = "font-size: 6pt;";
Qt::Alignment labelAlignment = Qt::AlignHCenter | Qt::AlignTop;
Qt::Alignment widgetAlignment = Qt::AlignHCenter | Qt::AlignCenter;
// set up volume knob
m_volumeKnob = new Knob(knobBright_26, NULL, tr("Sample volume"));
m_volumeKnob->setVolumeKnob(true);
m_volumeKnob->setHintText(tr("Volume:"), "%");
basicControlsLayout->addWidget(m_volumeKnob, 0, 0);
basicControlsLayout->setAlignment(m_volumeKnob, widgetAlignment);
QLabel *label = new QLabel(tr("VOL"), this);
label->setStyleSheet(labelStyleSheet);
basicControlsLayout->addWidget(label, 1, 0);
basicControlsLayout->setAlignment(label, labelAlignment);
// set up panning knob
m_panningKnob = new Knob(knobBright_26, NULL, tr("Panning"));
m_panningKnob->setHintText(tr("Panning:"), "");
basicControlsLayout->addWidget(m_panningKnob, 0, 1);
basicControlsLayout->setAlignment(m_panningKnob, widgetAlignment);
label = new QLabel(tr("PAN"),this);
label->setStyleSheet(labelStyleSheet);
basicControlsLayout->addWidget(label, 1, 1);
basicControlsLayout->setAlignment(label, labelAlignment);
basicControlsLayout->setColumnStretch(2, 1);
// setup spinbox for selecting FX-channel
m_effectChannelNumber = new FxLineLcdSpinBox(2, NULL, tr("FX channel"), m_stv);
basicControlsLayout->addWidget(m_effectChannelNumber, 0, 3);
basicControlsLayout->setAlignment(m_effectChannelNumber, widgetAlignment);
label = new QLabel(tr("FX"), this);
label->setStyleSheet(labelStyleSheet);
basicControlsLayout->addWidget(label, 1, 3);
basicControlsLayout->setAlignment(label, labelAlignment);
generalSettingsLayout->addLayout(basicControlsLayout);
m_effectRack = new EffectRackView(tv->model()->audioPort()->effects());
m_effectRack->setFixedSize(240, 242);
vlayout->addWidget(generalSettingsWidget);
vlayout->addWidget(m_effectRack);
setModel(tv->model());
QMdiSubWindow * subWin = gui->mainWindow()->addWindowedWidget(this);
Qt::WindowFlags flags = subWin->windowFlags();
flags |= Qt::MSWindowsFixedSizeDialogHint;
flags &= ~Qt::WindowMaximizeButtonHint;
subWin->setWindowFlags(flags);
// Hide the Size and Maximize options from the system menu
// since the dialog size is fixed.
QMenu * systemMenu = subWin->systemMenu();
systemMenu->actions().at(2)->setVisible(false); // Size
systemMenu->actions().at(4)->setVisible(false); // Maximize
subWin->setWindowIcon(embed::getIconPixmap("sample_track"));
subWin->setFixedSize(subWin->size());
subWin->hide();
}