QMdiArea mit QWidgets beendet mit Fehlercode

Alles rund um die Programmierung mit Qt
Antworten
TinTin82
Beiträge: 4
Registriert: 20. März 2017 20:59

QMdiArea mit QWidgets beendet mit Fehlercode

Beitrag von TinTin82 »

Hi Zusammen,

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();
	}
	...
}
beim Beenden der Applikation:

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];
};
Gruss TinTin
TinTin82
Beiträge: 4
Registriert: 20. März 2017 20:59

Re: QMdiArea mit QWidgets beendet mit Fehlercode

Beitrag von TinTin82 »

Okay, =)

hab das Problem gelöst..

Und zwar darf ich kein QWidget hinzufügen, sondern ein QMdiSubWindow.

Gruß,
TinTin
Antworten