domingo, 15 de noviembre de 2009

Estrenando red en casa


Me he comprado un router TP-LINK modelo TL-WR340G 54M Wireless Router debo confesar que lo adquirí a riesgo de que no trabajara de la manera como esperaba configurarlo, pero ¿cual es mi sorpresa? hace muchas cosas y más, de verdad que es muy completo en cuanto a funciones, muy fácil de configurar y se puede actualizar el firmware cosa que me llamo mucho la atención, el problema sería si diera conflictos al momento de actualizarlo lo cual espero que no.

Configurando este juguete nuevo y luego leyendo la documentación del fabricante, note que se puede utilizar como repetidor de señal wifi, cosa que por demás me pareció muy interesante, por si se quiere extender el alcance de nuestra señal.

Les comento los pasos que realicé para la configuración de mi nuevo juguete:

Primero seguí las instrucciones del manual y el mini-CD que trae, que después de solo unos escasos 5 minutos ya tenia funcionando el acceso a Internet.

Segundo, como es evidente; al ver los pasos de configuración, aun no tenia configurado el DHCP ni el DNS de mi red.

Tercero, para facilitarme mucho las cosas y porque me moría de ganas de tener en funcionamiento mi red, decidí usar el DHCP de mi ISP y un DNS dinámico gratis de Internet que pueden conseguir aquí, más adelante les comentaré como crear tu propio servidor DHCP y DNS para nuestra red y así tener un control mayor de quien se conecta a nuestra red y que es mejor para la administración de la misma.

Les recomiendo este dispositivo para hacer sus pequeñas redes caseras, y por que no de oficina, tiene muy buen sistema de seguridad wifi, nada que envidiarle a muchos router's económicos en el mercado.

lunes, 12 de octubre de 2009

Instalar driver de video VIA (openchrome) en Mini Laptop Siragon ML-1010 con Debian



Desde hace días que me venía dando dolores de cabeza instalar Debian en una Mini Laptop Siragon ML-1010, uno de los primeros problemas que se me han presentado es el del video, que me muestra un escritorio mucho más grande del de la pantalla.

He buscado y rebuscado en diferentes foros y no daba con la respuesta a mi problema, hasta que he encontrado la solución, en uno de los foros de ubuntu, pero aun así voy a colocar aquí como se resuelve el problema de estos driver de video que como sacan de quicio a cualquiera:

Primero, en consola como super usuario, escribimos lo siguiente:

apt-get install build-essential subversion autoconf automake1.9 libtool

Luego, escribimos lo que sigue a continuación:

apt-get build-dep xserver-xorg-video-openchrome

Después, descargamos los driver openchrome:

svn checkout http://svn.openchrome.org/svn/trunk openchrome

Ahora nos movemos a la carpeta openchrome que acabamos de descargar (seguramente se nos descargó en la carpeta /home/carpeta_usuario)

Como usuario normal escribinos el siguiente comando en consola:

./autogen.sh --prefix=/usr

Y luego:

make

Ahora como super usuario escribimos los siguiente:

make install

Después de haber hecho todo esto, tenemos que hacer una pequeñas modificaciones al archivo xorg.conf, ubicado en la dirección /etc/X11/ (solo substituir las siguientes secciones, no sobre escribir el archivo):

Section "Monitor"
     Identifier "Monitor0"
     Option "DPMS" "true"
     HorizSync 31.5-55
     VertRefresh 40-70
     Modeline "1024x600" 48.96 1024 1064 1168 1312 600 601 604 622 -HSync +Vsync
EndSection

Section "Device"
     Identifier "Card0"
     Driver "openchrome"
     VendorName "VIA"
     BoardName "UniChrome"
     Option "ForcePanel"
     Option "ActiveDevice" "LCD,CRT"
     Option "PanelSize" "1024x600"
     Option "SWcursor"
EndSection

Section "Screen"
     Identifier "Screen0"
     Device "Card0"
     Monitor "Monitor0"
     DefaultColorDepth 24
     SubSection "Display"
          Depth 1
          Modes "1024x600" "800x600" "640x480"
     EndSubSection
     SubSection "Display"
          Depth 4
          Modes "1024x600" "800x600" "640x480"
     EndSubSection
     SubSection "Display"
          Depth 8
          Modes "1024x600" "800x600" "640x480"
     EndSubSection
     SubSection "Display"
          Depth 15
          Modes "1024x600" "800x600" "640x480"
     EndSubSection
     SubSection "Display"
          Depth 16
          Modes "1024x600" "800x600" "640x480"
     EndSubSection
     SubSection "Display"
          Depth 24
          Modes "1024x600" "800x600" "640x480"
     EndSubSection
EndSection

Section "DRI"
     Mode 0666
EndSection

Section "Extensions"
     Option "Composite"
EndSection

Por ultimo guardamos, reiniciamos y listo, ya tenemos nuestro Debian funcionando a la perfección, con nuestro driver de video.

martes, 6 de octubre de 2009

Convertir archivos .nrg a .iso en Debian

Si tienes problemas para grabar imagenes de cd de nero en Debian, aquí esta la solución:

apt-get install nrg2iso

Usarlo es muy sencillo, solo tienes que escribir la siguiente linea en consola y listo, esperar nuestro archivo iso.

nrg2iso archivo_NERO.nrg archivo_ISO.iso

domingo, 4 de octubre de 2009

Reiniciar servicios en Debian

Haciendo algunas modificaciones en mi laptop, específicamente configurando mi tarjeta de red inalámbrica, me resulto un poco inconveniente tener que reiniciar el sistema completo pudiendo solo reiniciar el servicio de red, como otrora hubiese hecho con fedora en donde trabaje un buen tiempo.

Pues buscando un poco en los manuales, conseguí lo que estaba buscando.

Comandos para iniciar, detener o reiniciar el servicio de red en Debian y en muchas otras distribuciones linux:

Para iniciar el servicio:
# /etc/init.d/ start

Para detener el servicio:
# /etc/init.d/ stop

Para reiniciar el servicio:
# /etc/init.d/ restart

Como ejemplo les dejo las lineas de consola que me facilitaron la vida en el trabajo reiniciar el servicio de red mientras configuraba el wifi.

Para iniciar el servicio de red:
# /etc/init.d/networking start

Para detener el servicio de red:
# /etc/init.d/networking stop

Para reiniciar el servicio de red:
# /etc/init.d/networking restart

Con estos comandos nos evitamos el tedioso trabajo de reiniciar (esperar, perder tiempo) los servicios al mejor de los estilos de windows.

sábado, 19 de septiembre de 2009

Ejecutar aplicaciones gráficas en consola

Hoy me dispuse a crear mi tema para kdm y el splash para todo para KDE4, pero se me presentó un pequeño problema.

Cuando intento ejecutar el system settings para instalar mi tema nuevo la consola no me lanza la aplicación.

Revisando un poco que podría ser mi problema; encontré que tengo un conflicto con la consola, el gestor de ventanas (kwin) y mi controlador de video (Nvidia). Mientras consigo la forma de resolver este detalle, aquí dejo una forma de solventar el problema de forma provisoria:

kdesu aplicación gráfica

nos aparecerá la ventana para ingresar nuestra clave y listo.

miércoles, 16 de septiembre de 2009

Instalar java en Debian y no morir en el intento!

Hoy me levante con un grave problema, debo trabajar con java pues mi trabajo me lo exige. Anteriormente había trabajado con java pero bajo windows, pero en este caso debo hacerlo bajo Linux.

Si bien la instalación no fué mayor problema, se me presento un inconveniente, pues la documentación no la tenia. Pero después se me presentó otro pequeño problemita, y es que la máquina virtual de java que estaba corriendo era la que trae por defecto mi Debian.

Pues bien, aquí les coloco, la fórmula que me ayudó a resolver mi pequeño problema.

Primero que nada, debemos descargarnos la documentación de java, en este caso el archivo:

jdk-6u12-docs.zip

el cual podemos conseguir en la siguiente dirección, en la sección que dice “JAVA SE 6 Documentation” :

http://java.sun.com/javase/downloads/

Después de esto, movemos el archivo que hemos bajado a la carpeta /tmp:

mv /home/remizero/Desktop/jdk-6u12-docs.zip /tmp
chown root:root /tmp/jdk-6u12-docs.zip


Nótese que la ruta /home/remizero/Desktop fué donde yo me descargué el archivo.

Ahora bien, ya hecho esto; se puede comenzar con la instalación de java, desde el manejador de paquetes de nuestra preferencia, en mi caso usé Synaptic. Y le dí buscar sun-java6 y me aparecieron todos los archivos necesarios para trabajar con java. Los seleccioné todos y le dí aplicar; Y sorpresa se instaló todo sin problemas.


Por otro lado aun me falta configurar la JVM. Con el comando:

update-java-alternatives -l

Debería aparecer una lista como esta:

java-6-sun 63 /usr/lib/jvm/java-6-sun
java-gcj 1042 /usr/lib/jvm/java-gcj


Esto para saber que es lo que tenemos y cual es la que vamos a seleccionar, en este caso seleccionaremos la primera y ejecutamos el siguiente comando:

update-java-alternatives -s java-6-sun

Así ya tenemos nuestra JVM configurada para trabajar, pero aun tenemos otro pequeño problema, definir nuestras variables de entorno JAVA_HOME que lo haremos con los siguientes comandos:

echo 'JAVA_HOME="/usr/lib/jvm/java-6-sun"' | tee -a /etc/profile
echo 'export JAVA_HOME' | tee -a /etc/profile


Y ya con esto podemos trabajar con java sin problemas, ya solo queda definir el IDE con el que queramos trabajar y listo.

Por otro lado tenemos otros comandos que nos pueden ayudar a determinar algunos errores en la instalación o desinstalacion que hagamos de nuestro java.

Para verificar la versión de java que estamos usando:

java -version

Para verificar los enlaces creados:

update-alternatives --display java
update-alternatives --display javac


Para eliminar los enlaces creados:

update-alternatives --remove-all java
update-alternatives --remove-all javac



Configurar navegador como predeterminado

Hoy tuve una interrogante cuando abría algunos enlaces en ciertas aplicaciones y el navegador que ejecutaba no era el navegador de mi preferencia.

Pues bien investigando un poco en los manuales de debian conseguí una forma bastante sencilla de predeterminar mi navegador favorito.

Con el siguiente comando en consola, estando como superusuario, escribir lo que sigue:

# update-alternatives --config x-www-browser

Seguido, nos muestra una lista de navegadores instalados como esta:

josephine:/home/remizero# update-alternatives --config x-www-browser
There are 3 choices for the alternative x-www-browser (providing /usr/bin/x-www-browser).

Selection Path Priority Status
------------------------------------------------------------
0 /usr/bin/konqueror 100 auto mode
1 /usr/bin/iceweasel 70 manual mode
2 /usr/bin/konqueror 100 manual mode
* 3 /usr/bin/opera 80 manual mode

Press enter to keep the current choice[*], or type selection number:

Y solo tenemos que seleccionar el navegador que queramos y listo, ya tenemos nuestro navegador favorito como predeterminado.

viernes, 14 de agosto de 2009

Configuración del xorg.conf

Lo que coloco aquí, es solo para que tengan una idea de como esta estructurada la configuración del archivo xorg.conf, para los que tengan que hacer este tedioso trabajo de manera manual.

El archivo esta ubicado en la siguiente dirección /etc/X11/xorg.conf.

Así tengo configurado mi archvo xorg.conf:

Section "Files"
 FontPath "/usr/share/fonts/X11/misc"
 FontPath "/usr/X11R6/lib/X11/fonts/misc"
 FontPath "/usr/share/fonts/X11/cyrillic"
 FontPath "/usr/X11R6/lib/X11/fonts/cyrillic"
 FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
 FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
 FontPath "/usr/share/fonts/X11/75dpi/:unscaled"
 FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
 FontPath "/usr/share/fonts/X11/Type1"
 FontPath "/usr/X11R6/lib/X11/fonts/Type1"
 FontPath "/usr/share/fonts/X11/100dpi"
 FontPath "/usr/X11R6/lib/X11/fonts/100dpi"
 FontPath "/usr/share/fonts/X11/75dpi"
 FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
 # path to defoma fonts
 FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection

Section "Module"
 Load "bitmap"
 Load "dbe"
 Load "ddc"
 Load "dri"
 Load "extmod"
 Load "freetype"
 Load "glx"
 Load "int10"
 Load "record"
 Load "v4l"
 Load "vbe"
EndSection

Section "InputDevice"
 Identifier "Generic Keyboard"
 Driver "kbd"
 Option "XkbRules" "xorg"
 Option "XkbModel" "pc105"
 Option "XkbLayout" "latam"
EndSection

Section "InputDevice"
 Identifier "Configured Mouse"
 Driver "mouse"
 Option "CorePointer"
 Option "Device" "/dev/input/mice"
 Option "Protocol" "ImPS/2"
 Option "Emulate3Buttons" "true"
EndSection

Section "Device"
 Identifier "nVidia Corporation NV34 [GeForce FX 5500]"
 Driver "nvidia"
 BusID "PCI:1:0:0"
EndSection

Section "Monitor"
 Identifier "Novatech"
 Option "DPMS"
 HorizSync 30-80
 VertRefresh 55-75
EndSection

Section "Screen"
 Identifier "Default Screen"
 Device "nVidia Corporation NV34 [GeForce FX 5500]"
 Monitor "Novatech"
 DefaultDepth 24
 SubSection "Display"
  Depth 1
  Modes "1280x1024" "1024x768" "800x600" "640x480"
 EndSubSection
 SubSection "Display"
  Depth 4
  Modes "1280x1024" "1024x768" "800x600" "640x480"
 EndSubSection
 SubSection "Display"
  Depth 8
  Modes "1280x1024" "1024x768" "800x600" "640x480"
 EndSubSection
 SubSection "Display"
  Depth 15
  Modes "1280x1024" "1024x768" "800x600" "640x480"
 EndSubSection
 SubSection "Display"
  Depth 16
  Modes "1280x1024" "1024x768" "800x600" "640x480"
 EndSubSection
 SubSection "Display"
  Depth 24
  Modes "1280x1024" "1024x768" "800x600" "640x480"
 EndSubSection
EndSection

Section "ServerLayout"
 Identifier "Default Layout"
 Screen "Default Screen"
 InputDevice "Generic Keyboard"
 InputDevice "Configured Mouse"
EndSection

Section "DRI"
 Mode 0666
EndSection

jueves, 5 de marzo de 2009

Ver particiones NTFS en Debian

Primero que nada necesitamos descargar estos archivos:

fuse-utils (yo tengo la versión 2.7.4-1.1)
libfuse2 (yo tengo la versión 2.7.4-1.1)
libntfs-3g31 (yo tengo la versión 1:1.2531-1.1)
ntfs-3g (yo tengo la versión 1:1.2531-1.1)

Puedes descargarlo e instalarlo directamente por apt-get, aptitude o Synaptic, sino lo has hecho de esa manera, tendras que instalarlos con:

dpkg -i nombre_del_archivo

Se debe tener en cuenta que que el orden que he colocado de los archivos es el orden que han de ser instalados, y que para poder instalarlos debemos estar como root. Despues de instalado todo le damos acceso de lectura y escritura a nuestro usuario.

gpasswd -a nombre_del_usuario fuse

Luego con el editor de tu preferencia editamos el archivo fstab, localizado en la siguiente dirección:

/etc/

Colocamos la siguiente linea tantos discos o particiones vayamos a montar de esta forma:

/dev/sda1 /media/carpeta_de_montaje ntfs-3g defaults,uid=1000 0 0

Cabe destacar que sda1 varia según el tipo de disco durio que tengas instalado en tu máquina, esto puede ser hdax, hdbx, sdax, sdbx, donde x es la partición a instalar. carpeta_de_montaje es el nombre que le daremos para unir al arbol de nuestro sistema de archivos (yo lo hago en la carpeta media para tener todo un poco más organizado para mi gusto, pero si quieres puedes hacerlo en otro lugar, como por ejemplo /home/carpeta_de_montaje, o en cualquier otra).

Para verificar que realmente el uid=1000 es el id de tu usuario, solo debemos escribir en consola:

# id

Y nos deberia mostrar cual es nuestro id de usuario.

Si quieres verificar bien cual es la particion que quieres instalar puedes usar el siguiente comando:

# fdisk -l

Alguna información adicional, si tienes un kernel menor a 2.6.26, al momento de hacer la carga del sistema operativo nos muestra unos warning indicándonos que el soporte para este tipo de sistema de archivos esta obsoleto, pero descuida que no hay problema con eso.

jueves, 5 de febrero de 2009

Lista de repositorios oficiales y algo más para Debian (Actualizado a Wheeze)(Actualizado a Squeeze)

Aqui les monto mi sources.list.

Debo hacer la acotación que cuando instalé mi distro, instalé Debian etch, la cual he actualizado desde entonces, por lo que los repositorios de virtual box estan un poco desactualizados pero aún me funciona a la perfección, sin necesidad de cambiar a lenny, pero si es de tu gusto con toda confianza puedes cambiar etch por lenny, ya existe el repo para esta nueva versión de Debian.

Ahora ya estamos en Debian 6 (Squeeze) y estoy actualizando la lista de repositorios para aquellos novatos y no tan novatos, que quieran tomar más facilmente repositorios oficiales de esta nueva versión.

(Actualización 21/06/2014) A la fecha estamos en Debian Wheeze en su versión 7.5, ya algunas cosas han cambiado aunque no mucho. He eliminado el repositorio de Opera, pues desde su cambio a webkit se ha olvidado de nosotros, pues para mi era el mejor navegador, pero bueno, es solo mi gusto. También he eliminado el repositorio de Virtual box y Skype, pero he ajustado los repositorios oficiales de forma general, así que ya no tendrás que cambiar cada cuanto tiempo por la versión de turno :s. Adicional a eso he agregado los repositorios del DVD 1 de Debian 7.5, por si queremos retomar la originalidad de nuestra distro.

También he  agregado unas nuevas utilidades como un editor gráfico de grub, intregrado en las preferencias de KDE, remastersys para hacer nuestros LiveCD de nuestra instalación, para una posterior instalación más fácil y menos traumática. El repo de dropbox, muy útil, y la actualización de los repositorios de debian-multimedia que ahora es deb-multimedia.

Si eres un usuario nuevo en linux y específicamente en Debian, no te recomiendo ingresar las líneas de repositorios de la rama inestable y experimental, si bien las versiones por defecto las toma hasta Debian sid, pues hay que indicar expresamente que se quiere la rama experimental, no es aconsejable a los usuarios poco experimentados usar estas líneas.

Luego de ingresadas las líneas de repositorios procedemos escribir en una consola:

apt-get update ó
aptitude update ó
Synaptic -> recargar (modo gráfico)

de cualquiera de las 3 formas logras actualizar la lista de paquetes disponibles en los repositorios para la actualización de nuestra distro (aunque existen muchas otras formas, dependiendo de nuestra distribución). Para mayor información acerca de apt, aptitude ó Synaptic.

Ahora bien lo más importante, los repositorios.



# Repositorios del CD-DVD
# deb cdrom:[Debian GNU/Linux 7.5.0 _Wheezy_ - Official i386 DVD Binary-1 
20140426-12:26]/ wheezy contrib main
# deb cdrom:[Debian GNU/Linux 7.5.0 _Wheezy_ - Official i386 DVD Binary-1 
20140426-12:26]/ wheezy contrib main

#Repositorios Debian Stable
deb http://ftp.debian.org/debian/ stable main contrib non-free 
deb-src http://ftp.debian.org/debian/ stable main contrib non-free 

#Repositorios de Seguridad de Debian
deb http://security.debian.org/ wheezy/updates main contrib non-free 
deb-src http://security.debian.org/ wheezy/updates main contrib non-free 

#Repositorios de actualización de Debian
deb http://ftp.debian.org/debian/ wheezy-updates main contrib 
deb-src http://ftp.debian.org/debian/ wheezy-updates main contrib 

#Repositorios backports de Debian
deb http://ftp.debian.org/debian/ wheezy-backports main 
deb-src http://ftp.debian.org/debian/ wheezy-backports main 

#Repositorios Debian Testing
deb http://ftp.debian.org/debian/ testing main contrib non-free  
deb-src http://ftp.debian.org/debian/ testing main contrib non-free  

#Repositorios Debian Sid (Inestable)
# deb http://ftp.debian.org/debian/ sid main contrib non-free   
# deb-src http://ftp.debian.org/debian/ sid main contrib non-free

#Repositorios Debian Experimental
# deb http://ftp.debian.org/debian/ experimental main contrib non-free 
# deb-src http://ftp.debian.org/debian/ experimental main contrib non-free 

#Repositorios Google Chrome
deb http://dl.google.com/linux/chrome/deb/ stable main

#Repositorios Google Web Designer
deb http://dl.google.com/linux/webdesigner/deb/ stable main

#Repositorios Java 8
#apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886
deb http://ppa.launchpad.net/webupd8team/java/ubuntu/ trusty main
deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu/ trusty main

#Repositorios KDE-GRUB2 integrado
#wget -q 
http://download.opensuse.org/repositories/home:ksmanis/Debian_7.0/Release.key 
-O- | sudo apt-key add -
#deb http://download.opensuse.org/repositories/home:ksmanis/Debian_7.0/ /

#Remastersys Wheezy (Para hacer Live CD/DVD de nuestra propia instalación)
# http://www.remastersys.com/debian/remastersys.gpg.key 
# deb http://www.remastersys.com/debian wheezy main

#Repositorio Dropbox
# apt-key adv --keyserver pgp.mit.edu --recv-keys 5044912E
# deb http://linux.dropbox.com debian wheezy main
# deb-src http://linux.dropbox.com debian wheezy main

#Repositorio deb-Multimedia
# aptitude install deb-multimedia-keyring
# deb http://www.deb-multimedia.org wheezy main non-free

# deb-src http://www.deb-multimedia.org wheezy main non-free

Si esta lista de repositorios se queda corta a tus necesidades, puedes darle un vistazo a la siguiente página que es de Debian Venezuela.

Espero haya sido de utilidad esta información.

sábado, 3 de enero de 2009

Personalizar tus ventanas en Qt::Ventanas sin marcos (con formas personalizadas)

Ya vistos los ejemplos anteriores, ahora se tiene que la forma de la aplicación no es la deseada. Como en el ejemplo Personalizar tus ventanas en Qt::Ventanas sin marcos (con movilidad en el escritorio) solo que se tiene que añadir estas lineas de código.

Eso se puede resolver de la siguiente manera.

Si bien se puede modificar el método

QSize sizeHint() const;//DEFINE EL TAMAÑO INICIAL DE LA VENTANA

del primer ejemplo, eso no nos permitira darle la forma real que queremos.

En cambio lo haremos con un nuevo metodo que vamos a reescribir.

Archivo cabecera

void resizeEvent(QResizeEvent *event);// DEFINE EL ESPACIO VISIBLE DE LA APLICACION, EN ESTE CASO LA ELIPSE

Archivo CPP

void SinMarco::resizeEvent(QResizeEvent * /* event */) {// DEFINE EL ESPACIO VISIBLE DE LA APLICACION, EN ESTE CASO UNA ELIPSE
  // USAR SOLO UNO DE LAS DOS FORMAS
  //QRegion maskedRegion(10, 10, 1000, 130, QRegion::Rectangle);
  QRegion maskedRegion(10, 10, 1000, 130, QRegion::Elipse); // EL CENTRO DE ESTA ELIPSE ES (10+1000)/2 Y (10+130)/2
  setMask(maskedRegion);
}


Tambien para este ejemplo se puede usar poligonos.

Y así ya tenemos una ventana diferente a las ventanas cuadradas aburridas : ).

Personalizar tus ventanas en Qt::Ventanas sin marcos (con movilidad en el escritorio)

En el ejemplo anterior Personalizar tus ventanas en Qt::Ventanas sin marcos se logroó que la ventana se comportara como se queria; sin los marcos por defecto del sistema.

Ahora este nuevo ejemplo, basado en el anterior, trae unas nuevas características para el manejo de nuestra ventana sin marcos.

Si bien ya tenemos nuestra ventana sin marcos, no podemos moverla por nuestro escritorio, cosa que por demás desagrada, si tomamos en cuenta que queremos cambiarla de posición.

Pues aquí, está la solución, solo tenemos que adicionar estas lineas de código en nuestro ejemplo anterior.

Archivo cabecera

protected:
  void mouseMoveEvent(QMouseEvent *event);
  void mousePressEvent(QMouseEvent *event);
 
  private:
  QPoint dragPosition;


Archivo CPP

void SinMarco::mousePressEvent(QMouseEvent *event) {//PARA MOVER LA APLICACION POR EL ESCRITORIO
  if (event->button() == Qt::LeftButton) {
  dragPosition = event->globalPos() - frameGeometry().topLeft();
  event->accept();
  }
}

void SinMarco::mouseMoveEvent(QMouseEvent *event) {
  if (event->buttons() & Qt::LeftButton) {
  move(event->globalPos() - dragPosition);
  event->accept();
  }
}

Personalizar tus ventanas en Qt::Ventanas sin marcos

Hola amigos, que tal?.

En mi pasar por la programación con Qt, he ido realizando algunas modificaciones a los componentes básicos para darle un aspecto diferente a mis aplicaciones.

Hoy les quiero mostrar parte de esas cosas que he hecho.

Ahora bien lo más importante... el código.

Archivo Cabecera

#ifndef SINMARCO_H
#define SINMARCO_H
#include
class SinMarco : public QWidget {
    Q_OBJECT
    public:
        SinMarco(QWidget *parent = 0);//CONSTRUCTOR, DEFINE QUE LA VENTANA SERA SIN MARCOS
        QSize sizeHint() const;//DEFINE EL TAMAÑO INICIAL DE LA VENTANA ESTA LINEA DE CODIGO ES OPCIONAL
};
#endif



Archivo CPP

#include "sinmarco.h"
SinMarco::SinMarco(QWidget *parent) : QWidget(parent, Qt::FramelessWindowHint) { //DEFINE QUE LA VENTANA SERA SIN MARCOS
    // LA BANDERA Qt::FramelessWindowHint EN EL CONSTRUCTOR QWidget 
    // ES LO UNICO QUE NECESITAMOS PARA HACER QUE NUESTRA APLICACIÓN NO POSEA EL MARCO DE VENTANAS (NI DEL SISTEMA NI DEL LENGUAJE)
}
QSize SinMarco::sizeHint() const {//DEFINE EL TAMAÑO INICIAL DE LA VENTANA OPCIONAL
    return QSize(1000, 130);
    // ESTOS VALORES PUEDEN SER MODIFICADOS A NUESTRO GUSTO

}

Archivo MAIN

#include
#include "sinmarco.h"
int main(int argc, char *argv[]) {
    QApplication app(argc, argv);
    SinMarco Ventana_Sin_Marco;
    Ventana_Sin_Marco.show();
    return app.exec();
}


Y así hemos concluido nuestra ventana sin marcos.