Ir al contenido principal

Entradas

Mostrando las entradas con la etiqueta QT

Animación OpenGL con QT4.6 en Debian Squeeze

Este ejemplo muestra como utilizar OpenGL para obtener aceleración por hardware, usando el modulo QtOpenGL de la libreria QT 4.6, el ejemplo hereda de QGLWidget para implementar una animación en 2 dimensiones de un Poligono con la cantidad de lados variable, y ademas rotando, la velocidad de rotacion también es variable. el numero de lados se controla con el par de teclas A / Z , y la velocidad de rotación con las teclas S / X. este ejemplo esta empaquetado como un proyecto de KDevelop 4, administrado por CMake. Descargar Codigo Fuente

Analizador Lexico hecho a mano en C++ QT 4.5

este ejemplo demuestra la implementacion de un analizador lexico a mano en C++, el lenguaje es muy simple, consiste en los elementos basicos de una calculadora, numeros enteros, +, -, *, / y espacios en blanco, ademas incluye el manejo de errores lexicos y contador de lineas y caracteres para localizar cada token en el archivo de entrada.  el dfa utilizado en este ejemplo utiliza un estado final para cada token aunque no sea el dfa minimo, porque esto permite reconocer los tokens en funcion del estado final asociado, esto es mapear un estado final para cada token. y la representacion tabular del automata el ejemplo fue desarrollado en Debian GNU/Linux usando QT4.5 y su entorno de desarrollo QTCreator, aunque el codigo propio del analizador es C++ puro, si se utilizaron clases de la libreria QT para leer el archivo de entrada. codigo fuente ejemplo de salida del analizador TOKEN [100]     NAME[NUMBER]    LINE NUMBER[1]   ...

QMutex como sincronizar Threads en QT

Este ejemplo es muy simple y muestra el uso básico de QMutex para forzar la exclusión mutua entre una serie de Threads que acceden a una región critica, se define una clase ThreadR que implementa el acceso a la región critica, dicha región critica utiliza los métodos lock() y unlock() de la clase QMutex para garantizar que solo uno de los threads accede a la variable protegida.  void run ( ) { while ( true ) { mutex . lock ( ) ; Reportar ( mNumero ) ; mutex . unlock ( ) ; sleep ( ( rand ( ) % 5 ) + 1 ) ; } } Descargar Código Fuente