Vraag : Qt signalen/groeven die werken niet

Hallo die, heeft
I een .ui dossier met QtDesigner wordt gecre�ërd en probeer om een menupunt met een fragment class.

The eerste van code te verbinden toont mijn hoofdfunctie (negeer het boemanmateriaal, kunt u enkel veronderstellen dat CustomOgreWidget om het even welke willekeurige klasse is). .ui het dossier

The heeft de geroepen werking actionSelect_Object en de groef wordt bepaald correct in CustomOgreWidget.

However, wanneer ik Open Project wanneer in werking stellend app selecteer, de code nooit springt in SlotOpenProject function.

If het nuttig is, QObject, SIGNAAL, worden het teweeggebracht en SLOT onderstreept met een quiggly rode lijn in Visuele Studio.

I hebben gecre�ërd andere verbindingen in andere klassen (d.w.z. de lijn QTimer voor het teruggeven van de mening van de Boeman) en deze werk volkomen boete. Ik kan niet enkel uitwerken waarom dit geen hulp working.

Any zeer wordt gewaardeerd is!

Cheers
" codeBody "
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
int (int. argc, klusje *argv [])
{
  // leidt tot toepassing
  QApplication* mainApp = nieuwe QApplication (argc, argv);

  // leidt tot een OgreWidget
  CustomOgreWidget* mOgreWidget = nieuwe CustomOgreWidget (0, 0);
  mOgreWidget->loadRenderSystemsFromPlugins ();

  // leidt tot een MainWindow
  QMainWindow* mainWin = nieuwe QMainWindow ();

  // het gebruikersinterface van de Opstelling voor MainWindow
  Ui:: ApplicationClass ui;
  ui.setupUi (mainWin);
 
  // toont MainWindow en voegt OgreWidget toe
  mainWin->showMaximized ();
  mainWin->setCentralWidget (mOgreWidget);

  // initialiseert Boeman
  mOgreWidget->initialiseOgre ();

  // de parameters van de Boeman van de Opstelling
  Boeman:: NameValuePairList ogreWindowParams;
  ogreWindowParams [„FSAA“] = "";
  mOgreWidget->initialise (&ogreWindowParams);
 
  QObject:: verbind (ui.actionSelect_Object, teweeggebracht SIGNAAL (()), mOgreWidget, GROEF (SlotOpenProject ()) );

  // de toepassingslijn van de Looppas
  terugkeer mainApp->exec ();
  }

Antwoord : Qt signalen/groeven die werken niet

Ik geloof dat u een Q_OBJECT aan klassen moet toevoegen die van QObject erven:

klasse CustomOgreWidget:
  openbare OgreWidget
{
  Q_OBJECT

publiek:
  CustomOgreWidget (QWidget* parent=0, Qt:: WindowFlags f=0);
  ~CustomOgreWidget (leegte);

openbare groeven:
  nietige (nietige) SlotOpenProject;
};
Andere oplossingen  
 
programming4us programming4us