[Kde-devel-es] usar iconos de kde y métodos de un widget

Guillem Barba wallas85 at menta.net
Fri Dec 10 03:02:06 CET 2004


Hola,

ahí van un par de preguntas (la segunda está mal formulada, pero no sé como 
ponerla de forma reducida).

1- Cómo puedo hacer que mi programa (hecho con Qt3, es una QApplication) use 
los iconos del KDE (que según el tema que estés usando variarán)? Me refiero 
a los iconos de las barras de herramientas (el botón de copiar, de salir...)
Para hacer esto tiene que ser una KApplication? se puede hacer de alguna forma 
que sea:
 Si existe icono "del sistema"
  usa este
 sino
  usa el predeterminado de la aplicación (el que haga yo)
 es para así, siempre que se pueda, mantener la línea de mi programa con el 
resto del entorno.


2- (hago un poco de preliminar explicando mi programa porque creo que es la 
forma más fácil de hacer entender mi problema, si creeis que está fuera de 
lugar hacer publicidad de mi programa, me lo decís y no lo volveré ha hacer)

La nueva versión de mi programa la estructura de este (que ya será la 
definitiva) es la siguiente:
  Clase principal: QApplication con una QTabWidget[1] como "CentralWidget"
  Diferentes clases (una por "módulo" del programa) que serán las tablas o 
páginas de la QTabWidget (se cargan como tal en la clase principal).
  Cada módulo (clase no principal) es una clase que expande la clase 
"QWidget".

 Bueno, pues dicho esto, mi problema es que la clase QTabWidget tiene la el 
método "QWidget *currentTab()", y mi idea para reducir código (y hacerlo más 
eficiente y bonito) es usar este puntero ha la "tabla" para lanzar métodos 
públicos de la clase en cuestión (métodos que todos los módulos tienen, por 
ejemplo "update"), pero esto NO me lanza el método que yo he implementado en 
la clase en cuestión (en el caso de "update" que existe en la clase QWidget) 
o me lanza un ERROR en la compilación cuando quiero lanzar un método 
"inventado por mi" del módulo.

Como puedo hacer para que el método "currentTab()" de QTabWidget me retorne un 
objeto del tipo del módulo que toque? He probado (por probar, no como algo 
definitivo) poniendo
(NombreDelMódulo)*tab = currentTab()
(protejido con "if's" para asegurar que el NombreDelMódulo es el que tocaba) 
pero da error.

Hay forma de hacer lo que quiero hacer o tendré que llenar mi código de 
"switch case" para lanzar cada método?

Por si ayuda a aclarar (repito que no quiero hacer publicidad, pero creo que 
con el ejemplo real es más fácil)
http://www.parlem-ne.net/gestfree/arxius/gestfree_03.tar.gz
es el código de mi programa (está en proceso, lo tengo allí para poder 
trabajar con el desde cualquier lugar).

saludos y perdón por el tostón de mensaje!
guillem


More information about the Kde-devel-es mailing list