Menu

demo6

big-bass
Attachments
demo6.bac (2478 bytes)
demo6.png (2638 bytes)

All of these demos will be preset for the raspberry 'RPI3
but can easily be changed for x86_64 changing and uncommenting one line of code
I also tried this on Manjaro archlinux RPI3

'RPI3
PRAGMA OPTIONS -Wno-write-strings -Wno-pointer-arith -I/usr/include/arm-linux-gnueabihf/qt5 -fPIC

but lets say you want to test on an x86_64
well just comment out the the PRAGMA line for the RPI3

and uncomment the x86_64 PRAGMA line

'x86_64
PRAGMA OPTIONS -Wno-write-strings -Wno-pointer-arith -Wno-deprecated -fPIC -I/usr/include/x86_64-linux-gnu/qt5

I like archlinux Manjaro too very cutting edge software versions!

'Manjaro archlinux RPI
PRAGMA OPTIONS -Wno-write-strings -Wno-pointer-arith -I/usr/include/qt5 -fPIC

demo6 QT5

dowload the source code

demo6.bac

get at the low level mouse signals

PRAGMA INCLUDE <QtWidgets/QApplication>    <QtWidgets/QMainWindow> 
PRAGMA INCLUDE  <QtCore/QDebug>   <QtGui/QResizeEvent>
PRAGMA INCLUDE  <iostream>   

PRAGMA LDFLAGS   -lQt5Widgets -lQt5Gui -lQt5Core  -lpthread -latomic 
PRAGMA COMPILER g++
'RPI3
PRAGMA OPTIONS -Wno-write-strings -Wno-pointer-arith -I/usr/include/arm-linux-gnueabihf/qt5 -fPIC

'x86_64
'PRAGMA OPTIONS -Wno-write-strings -Wno-pointer-arith -Wno-deprecated -fPIC -I/usr/include/x86_64-linux-gnu/qt5 

'Manjaro archlinux RPI
'PRAGMA OPTIONS -Wno-write-strings -Wno-pointer-arith -I/usr/include/qt5 -fPIC

OPTION PARSE FALSE


    DECLARE app TYPE QApplication*
    DECLARE w  TYPE QWidget*


    '---must include this <QtCore/QDebug>
    '--- a new macro without formatting or casting or c++ 
    DEF FN  PRINTOUT(x) =  qDebug()  << (x)


    app = new QApplication(argc, argv)
    '--- Create a widget instead of a window
    w = new QWidget()
    DECLARE event TYPE  QKeyEvent*



'------------------------------------------------   
SUB  QWidget::resizeEvent(QResizeEvent *event)
'------------------------------------------------   
    '---how to get around using debug for the terminal  and use PRINT
    PRINT "Old size:" 
    PRINTOUT(event->oldSize() )
    PRINT "New size:"
    PRINTOUT( event->size() )
END SUB

'------------------------------------------------   
SUB QWidget::keyPressEvent(QKeyEvent *event)
'------------------------------------------------   

    IF event->key() == Qt::Key_Escape THEN 

        close()
    END IF

    PRINT "you pressed escape " 
END SUB


'------------------------------------------------   
SUB QWidget::keyReleaseEvent(QKeyEvent *event)
'------------------------------------------------   
    PRINT "has been released"
    PRINTOUT( event->text() )
END SUB


'------------------------------------------------   
SUB  QWidget::mouseMoveEvent(QMouseEvent *event)
'------------------------------------------------   
    PRINT "Position: " 
    PRINTOUT( event->pos() )
END SUB


'------------------------------------------------   
SUB  QWidget::mousePressEvent(QMouseEvent *event)
'------------------------------------------------   
    PRINT "Mouse pressed:" 
    PRINTOUT( event->button() )
END SUB

'------------------------------------------------   
SUB QWidget::mouseReleaseEvent(QMouseEvent *event)
'------------------------------------------------   
    PRINT "Mouse released:"
    PRINTOUT(  event->button() )

END SUB




      w->resize(500, 200)
      w->setWindowTitle("mouse events in terminal")
      w->show()

      return app->exec()

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.