MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { //Create central widget and set main layout wgtMain_ = new QWidget(this); lytMain_ = new QGridLayout(wgtMain_); wgtMain_->setLayout(lytMain_); setCentralWidget(wgtMain_); //Initialize widgets mediaPlayer_ = new QMediaPlayer(this); // Objeto que se encarga del video playerSlider_ = new QSlider(Qt::Horizontal, this); // Barra de tiempo de reproducción videoWidget_ = new QVideoWidget(this); // Recuadro negro de vídeo volumeSlider_ = new QSlider(Qt::Horizontal, this); // Barra de volumen btnOpen_ = new QToolButton(this); btnPlay_ = new QToolButton(this); btnPause_ = new QToolButton(this); btnStop_ = new QToolButton(this); //Setup widwgets videoWidget_->setMinimumSize(400, 400); mediaPlayer_->setVideoOutput(videoWidget_); // Añadir el recuadro al reproductor mediaPlayer_->setVolume(100); videoWidget_->setAspectRatioMode(Qt::KeepAspectRatio); volumeSlider_->setRange(0, 100); volumeSlider_->setSliderPosition(100); //Populate grid layout lytMain_->addWidget(videoWidget_, 0, 0, 1, 5); lytMain_->addWidget(playerSlider_, 1, 0, 1, 5); lytMain_->addWidget(btnOpen_, 2, 0, 1, 1); lytMain_->addWidget(btnPlay_, 2, 1, 1, 1); lytMain_->addWidget(btnPause_, 2, 2, 1, 1); lytMain_->addWidget(btnStop_, 2, 3, 1, 1); lytMain_->addWidget(volumeSlider_, 2, 4, 1, 1); //Buttons icons btnOpen_->setIcon(QIcon(QPixmap(":/icons/resources/eject.png"))); btnPause_->setIcon(QIcon(QPixmap(":/icons/resources/pause.png"))); btnPlay_->setIcon(QIcon(QPixmap(":/icons/resources/play.png"))); btnStop_->setIcon(QIcon(QPixmap(":/icons/resources/stop.png"))); //Connections connect(btnOpen_, SIGNAL(pressed()), this, SLOT(onOpen())); connect(btnPlay_, SIGNAL(pressed()), mediaPlayer_, SLOT(play())); connect(btnPause_, SIGNAL(pressed()), mediaPlayer_, SLOT(pause())); connect(btnStop_, SIGNAL(pressed()), mediaPlayer_, SLOT(stop())); connect(playerSlider_, SIGNAL(sliderReleased()), this, SLOT(onSeek())); connect(mediaPlayer_, SIGNAL(durationChanged(qint64)), this, SLOT(onDurationChanged(qint64))); connect(mediaPlayer_, SIGNAL(positionChanged(qint64)), this, SLOT(onPositionChanged(qint64))); connect(volumeSlider_, SIGNAL(sliderMoved(int)), this, SLOT(onVolumeChanged(int))); // Inicializamos los elementos del menú mainMenu_ = new QMenuBar(this); mnuArchivo_ = new QMenu(tr("&Archivo"), this); mnuVer_ = new QMenu(tr("&Ver"), this); mnuAyuda_ = new QMenu(tr("&Ayuda"), this); mnuStreaming_ = new QMenu(tr("&Streaming"), this); // Añadimos los elementos al menú mainMenu_->addMenu(mnuArchivo_); mainMenu_->addMenu(mnuVer_); mainMenu_->addMenu(mnuAyuda_); mainMenu_->addMenu(mnuStreaming_); // Inicializamos acciones de los elementos del menú // Añadimos las acciones a los elementos // Añadimos los shortcuts correspondientes actArchivoAbrir_ = new QAction(tr("Abrir..."), this); actArchivoAbrir_->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_O)); mnuArchivo_->addAction(actArchivoAbrir_); mnuArchivoRecientes_ = new QMenu(tr("Recientes"), this); mnuArchivo_->addMenu(mnuArchivoRecientes_); actVerMetadatos_ = new QAction(tr("Metadatos"), this); mnuVer_->addAction(actVerMetadatos_); actVerPantallaCompleta_ = new QAction(tr("Pantalla completa"), this); actVerPantallaCompleta_->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_F11)); mnuVer_->addAction(actVerPantallaCompleta_); actAyudaAcercaDe_ = new QAction(tr("Acerca de"), this); mnuAyuda_->addAction(actAyudaAcercaDe_); actStreamingReproducir_ = new QAction(tr("Reproducir fuente"), this); mnuStreaming_->addAction(actStreamingReproducir_); // Añadir barra de menús a la ventana setMenuBar(mainMenu_); // Conexiones del menú connect(actArchivoAbrir_, SIGNAL(triggered()), this, SLOT(onOpen())); connect(actVerPantallaCompleta_, SIGNAL(triggered()), this, SLOT(pantallaCompleta())); connect(actVerMetadatos_, SIGNAL(triggered()), this, SLOT(showMetadata())); connect(actAyudaAcercaDe_, SIGNAL(triggered()), this, SLOT(alAcercade())); connect(actStreamingReproducir_, SIGNAL(triggered()), this, SLOT(alStreaming())); // Hace que funcione el eventfilter videoWidget_->installEventFilter(this); // Mostramos el historial de recientes this->alRecientes(); // Inicializamos una fuente de streaming por defecto maximaFM_ = "http://208.92.53.87:80/MAXIMAFM"; }
NotepadWindow::NotepadWindow(QWidget *parent) : QMainWindow(parent) { //Establecemos el tamaño inicial de la ventana this->setGeometry(30, 30, 800, 600); //Establecemos el título de la ventana this->setWindowTitle(tr("Editor QTextEdit")); //Inicializamos los menús mainMenu_ = new QMenuBar(this); //Ponemos el menu arriba mnuArchivo_ = new QMenu(tr("&Archivo"), this); mainMenu_->addMenu(mnuArchivo_);//añadimos archivo a la barra de menu de arriba actArchivoAbrir_ = new QAction(tr("&Abrir"), this); //La & es para que aparezla la rayita debajo de la letra que le sigue y poder darle con alt+A (en este caso) actArchivoAbrir_->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_O)); mnuArchivo_->addAction(actArchivoAbrir_); actArchivoGuardar_ = new QAction(QIcon("guardar.PNG"),tr("&Guardar"), this); actArchivoGuardar_->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_S)); mnuArchivo_->addAction(actArchivoGuardar_); //Por mi Guardar Como actArchivoGuardarComo_ = new QAction(QIcon("guardarcomo.png"),tr("Guardar Como"), this); mnuArchivo_->addAction(actArchivoGuardarComo_); connect(actArchivoGuardarComo_, SIGNAL(triggered()), this, SLOT(alGuardarComo())); mnuEditar_ = new QMenu(tr("&Editar"), this); mainMenu_->addMenu(mnuEditar_); actEditarCopiar_ = new QAction(QIcon("copiar.png"),tr("&Copiar"), this); actEditarCopiar_->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_C)); mnuEditar_->addAction(actEditarCopiar_); actEditarPegar_ = new QAction(QIcon("pegar.png"),tr("&Pegar"),this); actEditarPegar_->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_V)); mnuEditar_->addAction(actEditarPegar_); mnuFormato_ = new QMenu(tr("&Formato"), this); mainMenu_->addMenu(mnuFormato_); actFormatoFuente_ = new QAction(tr("&Fuente"), this); mnuFormato_->addAction(actFormatoFuente_); //Agregamos la barra de menú a la ventana this->setMenuBar(mainMenu_); //Inicializamos el editor de texto txtEditor_ = new QTextEdit(this); //Conectamos las acciones de los menús con nuestros slots connect(actArchivoAbrir_, SIGNAL(triggered()), this, SLOT(alAbrir())); connect(actArchivoGuardar_, SIGNAL(triggered()), this, SLOT(alGuardar())); connect(actEditarCopiar_, SIGNAL(triggered()), txtEditor_, SLOT(copy())); connect(actEditarPegar_, SIGNAL(triggered()), txtEditor_, SLOT(paste())); connect(actFormatoFuente_, SIGNAL(triggered()), this, SLOT(alFuente())); //Agregamos el editor de texto a la ventana this->setCentralWidget(txtEditor_); //Por mi CERRAR actArchivoCerrar_ = new QAction(tr("&Cerrar"), this); mnuArchivo_->addAction(actArchivoCerrar_); connect(actArchivoCerrar_, SIGNAL(triggered()),this,SLOT(close())); //Por mi CORTAR actEditarCortar_ = new QAction(QIcon("cortar.png"),tr("&Cortar"),this); mnuEditar_->addAction(actEditarCortar_); connect(actEditarCortar_, SIGNAL(triggered()), txtEditor_, SLOT(cut())); //Por mi deshacer actEditarDeshacer_ = new QAction(QIcon("deshacer.png"),tr("&Deshacer"),this); actEditarDeshacer_->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Z)); mnuEditar_->addAction(actEditarDeshacer_); connect(actEditarDeshacer_, SIGNAL(triggered()), txtEditor_, SLOT(undo())); //Por mi rehacer actEditarRehacer_ = new QAction(QIcon("rehacer.png"),tr("&Rehacer"),this); mnuEditar_->addAction(actEditarRehacer_); connect(actEditarRehacer_, SIGNAL(triggered()), txtEditor_, SLOT(redo())); //Por mi ayuda/acerca de mnuAyuda_ = new QMenu(tr("&Ayuda"), this); mainMenu_->addMenu(mnuAyuda_); actAyudaAcercade_ = new QAction(tr("&Acerca de"),this); mnuAyuda_->addAction(actAyudaAcercade_); connect(actAyudaAcercade_, SIGNAL(triggered()), this, SLOT(alAcercade())); //Por mi toolbar toolbarMenu_ = new QToolBar(this); this->addToolBar(toolbarMenu_); //Añadimos las opciones al toolbar toolbarMenu_->addAction(actArchivoGuardar_); toolbarMenu_->addAction(actEditarCopiar_); toolbarMenu_->addAction(actEditarCortar_); toolbarMenu_->addAction(actEditarPegar_); toolbarMenu_->addAction(actEditarDeshacer_); toolbarMenu_->addAction(actEditarRehacer_); //Por mi Negrita actToolBarNegrita_ = new QAction(QIcon("negrita.png"),tr("Negrita"),this); toolbarMenu_->addAction(actToolBarNegrita_); connect(actToolBarNegrita_, SIGNAL(triggered()), this, SLOT(alNegrita())); //Por mi Cursiva actToolBarCursiva_ = new QAction(QIcon("cursiva.png"),tr("Cursiva"),this); toolbarMenu_->addAction(actToolBarCursiva_); connect(actToolBarCursiva_, SIGNAL(triggered()), this, SLOT(alCursiva())); //Por mi Subrayado actToolBarSubrayado_ = new QAction(QIcon("subrayado.png"),tr("Subrayado"),this); toolbarMenu_->addAction(actToolBarSubrayado_); connect(actToolBarSubrayado_, SIGNAL(triggered()), this, SLOT(alSubrayado())); }