ich habe eine QMdiArea, welcher ich QWidgets hinzufüge.
Code: Alles auswählen
uint32 SWC_MainWindow_t::ui32_Init(void const * const vp_in, void * const vp_out)
{
....
p_QMdiArea = new QMdiArea(p_VSplitter);
p_QMdiArea->setOption(QMdiArea::DontMaximizeSubWindowOnActivation,false);
for( ui32_counter = 0x00000000; ui32_counter < e_MAX_NUM_INSTRUMENTS; ui32_counter++)
{
arr_SWC_MainWindow_SubWin[ui32_counter].setAttribute(Qt::WA_DeleteOnClose,false);
//p_QMdiArea->addSubWindow(&arr_SWC_MainWindow_SubWin[ui32_counter]);
arr_SWC_MainWindow_SubWin[ui32_counter].setParent(p_QMdiArea);
arr_SWC_MainWindow_SubWin[ui32_counter].ui32_Init();
}
...
}
Code: Alles auswählen
uint32 SWC_MainWindow_t::ui32_Shutdown(void const * const vp_in, void * const vp_out)
{
...
// Delete all Subwindows
for( ui32_counter = 0x00000000; ui32_counter < e_MAX_NUM_INSTRUMENTS; ui32_counter++)
{
p_QMdiArea->removeSubWindow(&arr_SWC_MainWindow_SubWin[ui32_counter]);
//arr_SWC_MainWindow_SubWin[ui32_counter].deleteLater();
//delete arr_SWC_MainWindow_SubWin[ui32_counter];
}
...
Leider beendet sich die Applikation mit einem Fehler.
Woran kann denn das liegen ??
Code: Alles auswählen
class SWC_MainWindow_t : public QMainWindow, public I_Adapter
{
Q_OBJECT
public:
virtual uint32 ui32_Init(void const * const vp_in, void * const vp_out);
virtual uint32 ui32_Execute(void const * const vp_in, void * const vp_out);
virtual uint32 ui32_Shutdown(void const * const vp_in, void * const vp_out);
public:
SWC_MainWindow_t();
~SWC_MainWindow_t();
private:
void v_QT_SetMinMaxInitSize(void);
void v_QT_CreateMenubar(s_SWC_MainWindow_IN_t *ps_SWC_MainWindow_IN);
void v_QT_CreateToolbar(s_SWC_MainWindow_IN_t *ps_SWC_MainWindow_IN);
private:
QMenu *p_QMenuBar;
QToolBar *p_QToolBar;
QSplitter *p_HSplitter;
QSplitter *p_VSplitter;
QTextEdit *p_QTextEdit1;
QTextEdit *p_QTextEdit3;
QMdiArea *p_QMdiArea;
SWC_MainWindow_SubWin_t arr_SWC_MainWindow_SubWin[e_MAX_NUM_INSTRUMENTS];
};