[C++] Interfaz gráfica

Iniciado por makinavaja3500, 27 Abril 2014, 01:50 AM

0 Miembros y 3 Visitantes están viendo este tema.

makinavaja3500

Muy interesante Drewermerc!! Lo miraré con detenimiento...

eferion

Cita de: vangodp en 28 Abril 2014, 07:32 AM
En QT no existe la opcion de codeblocks llamada allow multiple selection
Que permite editar varias posiciones, eso para mi es lo mejor que tiene codeblocks.
Pulsar varias partes del código ctrl+raton izquierdo y editarlas o alt+ ratón derecho para crear un cuadrado o editar varias lineas.

Eso no es Qt... estás hablando de IDEs.

Y sí, en QtCreator, sí que puedes hacer eso... La opción la encuentras en "Refactor -> Rename symbol under cursor" usando el menú contextual.

Cita de: makinavaja3500 en 28 Abril 2014, 07:40 AM
Gracias a todos por contestar.

Eferion, ¿tienes algún programa que puedas mostrar?. Algún ejemplo con código fuente y que esté compilado como ejemplo para verlo... Algo sencillo para poder verlo..

¿Puedes ser un poco más concreto? Si buscas un programa tipo "hola mundo", quedaría así:

Código (cpp) [Seleccionar]

#include <QApplication>
#include <QPushButton>

int main( int argc, char **argv )
{
    QApplication a( argc, argv );

    QPushButton boton( "Hello world!" );
    boton.resize( 100, 30 );

    a.setMainWidget( &hello );
    boton.show( );
    return a.exec( );
}


Si quieres algo más concreto coméntamelo.

Un saludo.

vangodp

Bueno de IDE hablaba jeje, sinto no poner el "edits"  :laugh:
La función que comentas es buena pero no se parece para nada a la de codeblocks
de echo parece mas a un reemplazar que otra cosa. En codeblocks puedo elegir varios puntos en que no coincidan el texto y editarlos. Los voy seleccionando con el ratón.

eferion

#13
Cita de: vangodp en 28 Abril 2014, 09:58 AM
Bueno de IDE hablaba jeje, sinto no poner el "edits"  :laugh:
La función que comentas es buena pero no se parece para nada a la de codeblocks
de echo parece mas a un reemplazar que otra cosa. En codeblocks puedo elegir varios puntos en que no coincidan el texto y editarlos. Los voy seleccionando con el ratón.

Son IDEs diferentes y, por ello, su funcionalidad también es diferente... la opción que te he comentado permite hacer reemplazos selectivos, ya que únicamente reemplaza la variable o método seleccionado, es decir, si tienes dos variables que se llaman igual en diferentes partes del código, únicamente vas a cambiar el nombre de una de ellas.

En cualquier caso, nada te impide compilar Qt bajo CodeBlocks, VisualStudio, o cualquier otro IDE... un IDE no deja de ser una fachada que facilita la tarea de programar.

Obviamente usar QtCreator tiene ciertas ventajas... sobretodo al trabajar con ventanas y con herencias de QObject... pero no es nada que no se pueda solucionar en otros entornos.

nuevo: De hecho, yo raramente compilo con QtCreator... suelo usar más VisualStudio. Para automatizar el proceso de compilación utilizo una adaptación de "ant" para generar correctamente los makefiles.

vangodp

Bueno gracias amigo!  ;D
al menos algo me has dado ;)))  ;-)

makinavaja3500

Cita de: eferion en 28 Abril 2014, 09:14 AM
Eso no es Qt... estás hablando de IDEs.

Y sí, en QtCreator, sí que puedes hacer eso... La opción la encuentras en "Refactor -> Rename symbol under cursor" usando el menú contextual.

¿Puedes ser un poco más concreto? Si buscas un programa tipo "hola mundo", quedaría así:

Código (cpp) [Seleccionar]

#include <QApplication>
#include <QPushButton>

int main( int argc, char **argv )
{
    QApplication a( argc, argv );

    QPushButton boton( "Hello world!" );
    boton.resize( 100, 30 );

    a.setMainWidget( &hello );
    boton.show( );
    return a.exec( );
}


Si quieres algo más concreto coméntamelo.

Un saludo.

Hola eferion.

Comentaste que la velocidad de un programa realizado en QT es similar a WxWidgets y te pedía si podías poner un programa ejemplo compilado y con su código fuente para ver su velocidad y depaso como es su programación.

Te pedí esto porque me acabo de instalar recientemente QT y al compilar con QT-Creator siempre que ejecuto el .EXE me pone:

"Error al iniciar la aplicación porque no se encontró Qt5Cored.dll"


eferion

Qt es un framework que ocupa varios megas. La forma normal de trabajar con este framework ( para no infringir licencias ) es usarlo como librería externa. Esta forma de usar la biblioteca implica que tienes que llevarte ciertas librerías junto con tu ejecutable para poder hacer correr la aplicación.

Desde QtCreator esto no pasa porque el IDE ya se encarga de cargar las librerías de forma automática. Si quieres arrancar tu el ejecutable directamente tienes que copiar una serie de librerías en el mismo sitio donde se encuentre el ejecutable.

Mi consejo mientras aprendes Qt es que vayas poco a poco... primero aprende a desarrollar aplicaciones y luego aprende a distribuirlas. El proceso es menos traumático así... te lo digo por experiencia.

Y por el tema de velocidad... en serio, no te preocupes por eso ahora. En este mundo hay que estar listos para no abrir demasiados frentes de golpe... pueden acabar con cualquiera. ( He visto más de un pequeño proyecto irse al garete porque la gente ha empezado a obsesionarse con el tema del rendimiento y ha dejado de lado cosas más importantes... el rendimiento es importante, pero no te sirve de nada si tu aplicación no funciona ).

Resumiendo: mientras coges soltura, usa QtCreator para probar tus aplicaciones. Cuando tengas algo de soltura con Qt me avisas y te explico los pasos a seguir para poder llevarte tus aplicaciones donde te de la gana.

BloodSharp

Cita de: eferion en 27 Abril 2014, 02:38 AM* VC++ NET: Una de las grandes desventajas de este sistema es que no puedes controlar la memoria

Te equivocaste ahí, se puede utilizar y controlar la memoria sino fijate el siguiente link:

http://msdn.microsoft.com/en-us/library/chfa2zb8.aspx


B#



eferion

Cita de: IEAX en 29 Abril 2014, 05:52 AM
Te equivocaste ahí, se puede utilizar y controlar la memoria sino fijate el siguiente link:

http://msdn.microsoft.com/en-us/library/chfa2zb8.aspx


B#

Puedes hacer un delete directamente y que, en ese preciso momento, se libere la memoria dinámica??? no, verdad??? de hecho ni tan siquiera existe el operador "delete"... pues eso.

Lo que tu comentas es que en determinadas partes del código ( sobretodo para tener compatibilidad con código nativo ), se permite el uso de punteros "crudos" al más puro estilo C++ tradicional... pero tu no puedes elegir libremente el ciclo de vida real de un objeto en la plataforma .NET.

makinavaja3500

GRACIAS a todos por responder y aclararme las ideas!!!