jueves, 23 de abril de 2015

Instalar fuentes en Fedora 21

Si al intentar agregar una fuente con el gesto de fuentes de KDE muestra un error entonces puedes agregar la fuente de forma manual. Copiando el los ficheros de las fuentes en el directorio /home/usuario/.fonts


Mostrar QWebPage sin cargar imágenes

Si queremos mostrar una QWebPage sin cargar imágenes debemos colocar en false la preferencia QWebSettings::AutoLoadImages. Por ejemplo este código siguiente lo podemos ejecutar en el constructor de la clase que heredemos de QWebPage

settings()->setAttribute(QWebSettings::AutoLoadImages,false);

Antes
Despues

Solución: Ejecución lenta de evaluateJavaScript()

Si cuando intentas ejecutar el método evaluateJavaScript() el método hace que todo se cuelgue por unos momentos es porque el sistema esta evaluando el valor de retorno de la ultima instrucción de javascript e intentando convertirla a un tipo de dato QVariant. Esto ocasiona un costo alto cuando usas jQuery. Puesto que este retorna un objeto de jQuery que luego debe ser evaluado enteramente por Qt lo cual consume mucho tiempo de procesador.

La solución es hacer que la ultima instrucción sea un valor nulo

myWebElement->evaluateJavaScript( myScript + "; null" );
Yo por ejemplo utilizo este método para cargar jQuery en la pag
void BrowserWindow::loadJQuery()
{
  QFile file("jquery.min.js");
  file.open(QFile::ReadOnly);
  weView()->page()->mainFrame()->evaluateJavaScript(file.readAll()+";null");
}

lunes, 20 de abril de 2015

Corregir problema qDebug() (No imprime luego de un error)

Trabajando con QupZilla este me arrojaba el siguiente error
QNetworkReplyImplPrivate::error: Internal problem, this method must only be called once.

Puesto que estaba tratando de entrar a una pag en la que había contenidos extraviados


Lo cierto del caso es que luego que me mostraba el error el la salida del qDebug() no se mostraba. Para corregirlo lo que hice fue llamar esta funcion luego de que ocurriera el error 

qInstallMessageHandler(0);

y listo. Se volvieron a mostrar los mensajes

domingo, 19 de abril de 2015

Insertar JQuery con la consola de Chrome

Si deseamos usar las funciones de JQuery en cualquier página usando la consola de Chrome debes insertar el siguiente código en la consola

var jq = document.createElement('script');
jq.src = "https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);
jQuery.noConflict();


Si te da error (como en la imagen) intentalo de nuevo

y Listo, ya puedes llamar funciones de JQuery en esa página

lunes, 13 de abril de 2015

Corregir problema QupZilla "undefined symbol: _ZN2Qz7VERSIONE"

Luego abrimos configuramos y compilamos.

Si al intentar correr te aparece este error:
qupzilla: undefined symbol: _ZN2Qz7VERSIONE


Es porque tienes qupzilla en tu sistema y su versión es distinta a la que estas compilando. Debes instalar las mismas versiones para que funcione

domingo, 12 de abril de 2015

Compilar QupZilla en Fedora

Primero nos descargamos el  src. En este caso lo descargué de rpm.pbone.net
Source: http://rpm.pbone.net/index.php3/stat/26/dist/96/size/3216881/name/qupzilla-1.8.6-3.fc21.src.rpm

Luego instalamos hunspell-devel

yum install hunspell-devel hunspell*


Luego debemos descomprimir el fichero src.rpm




Dentro del directorio descomprimido el habrá otro fichero .tar.gz que debemos descomprimir.



Luego abrimos QtCreator y seleccionamos "Open File or Project" y buscamos el fichero QupZilla.pro








Para evitar el error "libQupZilla.so.1: cannot open shared object file" debes agregar el siguiente texto al FINAL fichero ./lib/defines/defines.pri:

DEFINES *= NO_SYSTEM_DATAPATH




Luego compilas y corres.
Ya con esto deberías tener QupZilla listo para modificar