本文整理汇总了C++中QMdiArea::tileSubWindows方法的典型用法代码示例。如果您正苦于以下问题:C++ QMdiArea::tileSubWindows方法的具体用法?C++ QMdiArea::tileSubWindows怎么用?C++ QMdiArea::tileSubWindows使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QMdiArea
的用法示例。
在下文中一共展示了QMdiArea::tileSubWindows方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
/*!
* \brief main
* Guia de Trabajos Practicos 3
* \param argc
* \param argv
* \return
*/
int main(int argc, char *argv[])
{
QApplication a( argc, argv );
QMainWindow main;
a.connect( &a, SIGNAL(lastWindowClosed()), &a, SLOT(quit()) );
main.showMaximized();
QMdiArea *mdiArea = new QMdiArea;
mdiArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
mdiArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
main.setCentralWidget(mdiArea);
GraficadorMdi *grafFuncion = new GraficadorMdi( mdiArea );
grafFuncion->setearTitulo( QString::fromUtf8( "Funcion" ) );
grafFuncion->setearTituloEjeX( QString::fromUtf8( "X" ) );
grafFuncion->setearTituloEjeY( QString::fromUtf8( "Y" ) );
mdiArea->addSubWindow( grafFuncion );
grafFuncion->show();
mdiArea->tileSubWindows();
GraficadorMdi *grafFitnes = new GraficadorMdi( mdiArea );
grafFitnes->setearTitulo( QString::fromUtf8( "Evolucion Mejor Fitness" ) );
grafFitnes->setearTituloEjeX( QString::fromUtf8( "Generacion" ) );
grafFitnes->setearTituloEjeY( QString::fromUtf8( "fitness" ) );
mdiArea->addSubWindow( grafFitnes );
grafFitnes->show();
mdiArea->tileSubWindows();
grafFitnes->setearParaSOM();
GraficadorMdi *grafPuntos = new GraficadorMdi( mdiArea );
grafPuntos->setearTitulo( QString::fromUtf8( "Puntos a evaluar" ) );
grafPuntos->setearTituloEjeX( QString::fromUtf8( "Posicion" ) );
grafPuntos->setearTituloEjeY( QString::fromUtf8( "Y" ) );
mdiArea->addSubWindow( grafPuntos );
grafPuntos->show();
mdiArea->tileSubWindows();
//grafPuntos->setearParaSOM();
// grafPuntos->setearEjesEnGrafico();
GraficadorMdi *grafPromedio = new GraficadorMdi( mdiArea );
grafPromedio->setearTitulo( QString::fromUtf8( "Fitness Promedio" ) );
grafPromedio->setearTituloEjeX( QString::fromUtf8( "Posicion" ) );
grafPromedio->setearTituloEjeY( QString::fromUtf8( "Y" ) );
mdiArea->addSubWindow( grafPromedio );
grafPromedio->show();
mdiArea->tileSubWindows();
grafPromedio->setearParaSOM();
// barra de progreso para mostrar el avance del tiempo
QDockWidget *dockBarra = new QDockWidget( QString::fromUtf8( "Evaluaciones" ) );
main.addDockWidget( Qt::BottomDockWidgetArea, dockBarra );
QProgressBar *PBTiempo = new QProgressBar( dockBarra );
dockBarra->setWidget( PBTiempo );
//Inicializo con una semilla aleatoria para la generacion de Aleatorios
qsrand( QTime::currentTime().msec() );
// Cargo los parametros del ejercicio
QSettings parametros( "parametros.cfg", QSettings::IniFormat );
// Inicializo la poblacion
Poblacion<GenomaX> pob;
int cant_total = parametros.value( "cantidad_elementos" ).toInt();
pob.setearTotal( cant_total );
pob.setearElitismo( parametros.value( "elitismo", false ).toBool() );
pob.setearBrechaGeneracional( parametros.value( "brecha_generacional" ).toDouble() );
pob.setearProbabilidadMutacion( parametros.value( "probabilidad_mutacion").toDouble() );
pob.setearModoSeleccionPadres( (Poblacion<GenomaX>::MetodoSeleccion)parametros.value( "metodo_seleccion" ).toInt() );
pob.setearPorcentajeCantidadDePadres( parametros.value( "cantidad_padres" ).toDouble() );
double max = parametros.value( "max" ).toDouble();
double min = parametros.value( "min" ).toDouble();
pob.setearMinMax( min, max );
for( int i=0; i<cant_total; i++ ) {
GenomaX temp;
double valor = valor_random( min, max );
temp.setX( valor );
temp.setMinMax( min, max );
pob.append( temp );
}
// Grafico la funcion
QVector<double> posy, posx;
for( double i=min; i<max; i+=0.05 ) {
posx.append( i );
posy.append( evaluar( i ) );
}
grafFuncion->agregarCurva( posx, posy, "funcion" );
a.processEvents();
/*GenomaX p1;
p1.setX( 128.0 );
p1.mostrarGenotipo();
//.........这里部分代码省略.........
示例2: main
/*!
* \brief main
* Ejercicio 2 Guia de Trabajos Practicos 1
* \param argc
* \param argv
* \return
*/
int main(int argc, char *argv[])
{
QApplication a( argc, argv );
QMainWindow main;
a.connect( &a, SIGNAL(lastWindowClosed()), &a, SLOT(quit()) );
main.showMaximized();
QMdiArea *mdiArea = new QMdiArea;
mdiArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
mdiArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
main.setCentralWidget(mdiArea);
//Inicializo con una semilla aleatoria para la generacion de Aleatorios
qsrand( QTime::currentTime().msec() );
// Cargo los parametros del ejercicio
QSettings parametros( "parametros.cfg", QSettings::IniFormat );
// Archivo de entrada
QString archivo = QCoreApplication::applicationDirPath().append( QDir::separator() ).append( parametros.value( "archivo_entrada" ).toString() );
// Cargo los datos de los archivos que corresponda
matriz entradas( parametros.value( "cantidad_entradas" ).toInt() );
QVector<int> salidas;
qDebug() << endl << "--------------- /Datos del entrenamiento/ -----------------" << endl;
qWarning() << "Archivo de lectura de datos originales: "<< archivo;
if( ! leer_archivo_entrenamiento( archivo,
&entradas,
&salidas,
parametros.value( "cantidad_entradas" ).toInt() ) ) {
qDebug() << "No se pudo encontrar el archivo de entrenamiento! cancelando!";
abort();
}
// particionamos los datos
Particionador particiones;
particiones.setearCantidadDatos( entradas.size() );
particiones.setearCantidadDeParticiones( parametros.value( "cantidad_particiones" ).toInt() );
particiones.setearPorcentajeEntrenamiento( parametros.value( "porcentaje_entrenamiento" ).toDouble() );
particiones.setearPorcentajeValidacion( parametros.value("porcentaje_validacion").toDouble() );
particiones.setearK(parametros.value("k").toInt());
particiones.particionarDatos();
// Inicializo la red neuronal
QVector<int> neuronas_por_capas;
// Primer parametro es la cantidad de clases
neuronas_por_capas << parametros.value( "cant_clases" ).toInt();
neuronas_por_capas << stringAQVector( parametros.value( "codificacion_salida" ).toString() ).size();
// Inicilizo la red radial
RedNeuronalRadial red( neuronas_por_capas.at(0),
neuronas_por_capas.at(1),
parametros.value("cantidad_entradas").toInt(),
parametros.value( "cant_clases" ).toInt() );
red.setearTasaAprendizaje( parametros.value( "tasa_aprendizaje" ).toDouble() );
qDebug() << "Tasa de aprendizaje: " << parametros.value( "tasa_aprendizaje" ).toDouble();
red.setearCodificacion( stringAQVector( parametros.value( "codificacion_salida" ).toString() ) );
qDebug() << "Codificacion salida: " << red.mostrarCodificacionSalida();
int max_epocas = parametros.value( "epocas_maximas", 20 ).toInt();
qDebug() << "Epocas: " << max_epocas;
double tolerancia_error = parametros.value( "tolerancia_error" ).toDouble();
qDebug() << "Error de corte: " << ( tolerancia_error ) << "%";
qDebug() << endl << "---------------- /Comienza el entrenamiento/ ----------------";
int epoca = 0; /* Contador de epocas */
double porcentaje_error = 100.0; /* Mucho sino sale */
int cantidad_particiones_exitosas = 0;
GraficadorMdi *graf1 = new GraficadorMdi( mdiArea );
graf1->setearTitulo( QString::fromUtf8( "Porcentaje de error según particion ( entrenamiento )" ) );
graf1->setearTituloEjeX( QString::fromUtf8( "Epoca" ) );
graf1->setearTituloEjeY( QString::fromUtf8( "Porcentaje error" ) );
mdiArea->addSubWindow( graf1 );
mdiArea->tileSubWindows();
if( stringAQVector( parametros.value( "codificacion_salida" ).toString() ).size() <= 2 ) {
GraficadorMdi *graf2 = new GraficadorMdi( mdiArea );
mdiArea->addSubWindow( graf2 );
graf2->showMaximized();
graf2->setearTitulo( "Datos originales" );
graf2->setearEjesEnGrafico();
graf2->setearTituloEjeX( " X " );
graf2->setearTituloEjeY( " y " );
graf2->agregarPuntosClasificados( entradas, salidas, 0.5 );
mdiArea->tileSubWindows();
} else {
//.........这里部分代码省略.........