Ver Mensaje Individual
  #16 (permalink)  
Antiguo 16/09/2016, 15:02
dehm
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 14 años, 1 mes
Puntos: 10
Respuesta: Qt.QTableView. Varias dudas

Al final la cosa no esta tan clara.
Al crear la clase "bien", con elementos QIcon y ya dentro del proyecto en Qt, me arroja este error:
QPixmap: Must construct a QGuiApplication before a QPixmap

Por lo que veo en Google, se ve que un objeto de la clase Pixmap no puede tener vida fuera de una Applicatión, y esa es la causa del error.

Este es el código:

//h

Código C++:
Ver original
  1. #ifndef RECURSOS_H
  2. #define RECURSOS_H
  3.  
  4. #include <map>
  5. #include <QIcon>
  6.  
  7. enum class Sexo
  8. {
  9.     undefined, male, female
  10. };
  11.  
  12. using IconsMap = std::map<Sexo,QIcon>;
  13.  
  14. class RepoIconos
  15. {    
  16.  
  17. private:
  18.     static IconsMap _iconos;
  19.     static IconsMap initMap()
  20.     {
  21.         return
  22.         {
  23.             std::make_pair(Sexo::undefined, QIcon(QStringLiteral("../Primos/iconos/undefined.png"))),
  24.             std::make_pair(Sexo::male, QIcon(QStringLiteral("../Primos/iconos/niño.png"))),
  25.             std::make_pair(Sexo::female, QIcon(QStringLiteral("../Primos/iconos/niña.png")))
  26.         };
  27.     }
  28.  
  29.  
  30. public:
  31.     RepoIconos()=delete;//no debe haber constructor disponible al ser clase estática
  32.     static QIcon GetIcon(Sexo type)
  33.     {
  34.         auto it = _iconos.find(type);
  35.         if(it == _iconos.end())
  36.         {
  37.             it = _iconos.find(Sexo::undefined);
  38.         }
  39.         return it->second;
  40.     }
  41. };
  42.  
  43. namespace DatosGenerales
  44. {
  45.     enum Columnas{Nombre,Ciudad,Color,Sexo};
  46. }
  47.  
  48.  
  49. #endif // RECURSOS_H

Código C++:
Ver original
  1. //cpp
  2. #include "recursos.h"
  3.  
  4. IconsMap RepoIconos::_iconos(initMap());

¿Sugerencias?¿Debería abandonar este diseño?
__________________
Mi calculadora en Qt