Etiquetas

555 74HC04 74HC14 74HC165 74LS04 acentos ADC10 Amstrad archivo arduino aristóteles armbian array ass at backup base64 bash Basho bc beethoven Biblia blog bucle c c++ c++11 c++17 C005 cadena Carmina Burana casting CD4017 CD4040 Cine clases Colores connect Consolación a Helvia Consolación a Marcia Consolación a Polibio constante corsair CPC Cristal 32Khz css cursor mouse cut daemon date dead keys Debian directorio disco duro DS32kHz electricidad Electrónica ensamblador entryList epicureismo Estadística estoicismo felicidad ffmpeg filePath filosofia Filosofía firefox flac for fstab funcion Gargantúa gastronomía gilgamesh Ginott gmp gpt grep gtts Hobbes hotkeys html imagemagick inline Javascript kde kernel modulos latex ldr lib-notify Linux Literatura ludoteca macro mapa de bits Matroska mega Microsoft Word Milan Kundera mkvextract mkvinfo mount mp3 mplayer MSP430 msp430F5529 MSP432 Multimedia Musica oop orange_pi pato PIR PL9823 Platón poesía POO en C++ pulseaudio puntero PWM pygame pyqt python QAction qApp QApplication QByteArray QDialog Qdir QFile QFileDialog QImage qlabel QList QListWidget QMessagebox QMouseEvent qpainter QPalette QPixmap QProcess QRegularExpression QRegularExpressionMatchIterator QString QStringList Qt qt5 QToolbar quijote QVector qwidget R Rabelais ratón relé Resonador cerámico samba San Agustín screen Séneca signal slot smart smartctl sox srt static const stdarg.h subtítulos Symbian tar teléfonos móviles temperatura temperatura cpu Temporizador tesseract Timer timestamp Trigonometría tts tutorial uid unicode user USI va_arg va_end va_list va_start velocidad ventilador Voltaire wallpaper xboxdrv xinput xrandr Z80 zip

miércoles, septiembre 27, 2017

La vida de los objetos en C++ (2)

1. El programa

El programa es similar al anterior.

Aquí aparece una función llamada villaBotijos en la que se crean y se destruyen las Personas.
Luis y el Bebe se destruyen automáticamente al terminar la función. Fermín el puntero tiene que ser destruido explicitamente con delete.

La vida de los objetos en c++ (1)

1. Introducción a la clase Persona:
La clase Persona tiene:
Campos: nombre y dinero.
Dos constructores, uno sin parámetros y otro sin parámetros. Por último un destructor.

2. El método main

3. La salida del programa

Comienza el mundo..
Ha nacido un bebe sin dinero :|
Ha nacido Luis con 5000 euros :)
Ha nacido Fermín el puntero con 400 euros :)
0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
... y aquí se acaba
Ha muerto Luis con 5000 euros :(
Ha muerto bebe con 0 euros :(

sábado, septiembre 02, 2017

Capturando los eventos del teclado en un QLabel

Para empezar, esto sería una extensión a la captura del ratón que se ha hecho previamente: Captura de los eventos del ratón en un QLabel

1. Redefinir la función keyPressEvent en .h:
protected:
    void mouseMoveEvent(QMouseEvent *event);
    void mousePressEvent(QMouseEvent *event);
    void mouseReleaseEvent(QMouseEvent *event);
    void keyPressEvent(QKeyEvent *event);


2. En el .cpp
void myLabel::keyPressEvent(QKeyEvent *event){
    // Lista de qt::key http://doc.qt.io/qt-4.8/qt.html#Key-enum

    if (event->key() == Qt::Key_Escape) {
        qDebug() << "Escape";
    } else {
        qDebug() << "tecla" << event->key()  ;
    }
}


3. Modificar la politica del foco en el constructor:
this->setFocusPolicy(Qt::StrongFocus);

4. Para capturar letras acentuadas

Un QMessageBox

    QMessageBox msgBox;

    msgBox.setText("Borrar la imágen.");
    msgBox.setInformativeText("¿Estás seguro?");
    msgBox.setIcon(QMessageBox::Question);
    msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
    msgBox.setDefaultButton(QMessageBox::No);
    int ret = msgBox.exec();

    if (ret == QMessageBox::Yes) {
        container.ClearImage();
    }