[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