[gelöst] Qt Vista - exe has stop working

Verschiedenes zu Qt
Antworten
TimeForGold
Beiträge: 31
Registriert: 28. Januar 2007 14:27

[gelöst] Qt Vista - exe has stop working

Beitrag von TimeForGold »

Hallo Zusammen,

ich bin in ziemlich am Anfang und schreibe eine kleine Qt Anwendung unter Vista. Zu Anfang, ändere ich die Eigenschaft eines QPushButtons. Wenn ich jetzt eine Debugversion baue, meldet sich Vista mit Qt-Test.exe hast stop working. Lasse ich die Codezeile weg in der ich die Eigenschaft des Buttons verändere funktioniert alles, die bereits erstellte GUI wird angezeigt.

Code: Alles auswählen

#include "qt_test.h"

Qt_Test::Qt_Test(QWidget *parent)
    : QWidget(parent)
{
	ui.setupUi(this);
	m_pcBtnStop->setEnabled(false); //Zeile die das Problem verursacht
}

Qt_Test::~Qt_Test()
{

}
Verwende Qt 4.3.3 mit der Eclipseintegration 1.0.1.

Jemand eine Idee? Danke, Gruß TimeForGold
Zuletzt geändert von TimeForGold am 7. Januar 2008 14:01, insgesamt 1-mal geändert.
ChMaster
Beiträge: 252
Registriert: 23. Februar 2005 14:44
Wohnort: RP -> Alzey
Kontaktdaten:

Beitrag von ChMaster »

Servus TimeForGold,

Code: Alles auswählen

m_pcBtnStop->setEnabled(false); //Zeile die das Problem verursacht 
Man sieht auf anhieb wo der fehler ist, glaube ich ;). Probiere es mal damit: (dann müsste es theoretisch gehen)

Code: Alles auswählen

ui.m_pcBtnStop->setEnabled(false);
Zuletzt geändert von ChMaster am 7. Januar 2008 11:43, insgesamt 2-mal geändert.
ChMaster
------------ Projekte------------
DBoxFE
DMS
First4 (Plugin-Develper)
CaptnChaos
Beiträge: 605
Registriert: 28. Juni 2007 15:01
Kontaktdaten:

Beitrag von CaptnChaos »

hm. Das dürfte eig garnicht kompilieren.
TimeForGold
Beiträge: 31
Registriert: 28. Januar 2007 14:27

Beitrag von TimeForGold »

@ChMaster Danke, das war die Lösung. Kannst du mir erklären warum ich das so machen muss? Ich habe schonmal eine Qt-Anwendung geschrieben, da war es nicht nötig über ui die Steuerelemente aufzurufen. Muss dazu sagen die Anwendung habe ich auch unter WinXP verwendet bzw auch geschrieben.
CaptnChaos
Beiträge: 605
Registriert: 28. Juni 2007 15:01
Kontaktdaten:

Beitrag von CaptnChaos »

hast du in der Header einmal

Code: Alles auswählen

class MyWidget : publy QWidget, public Ui::Form
und dann nochmal

Code: Alles auswählen

private:
       Ui::Form ui;
??
dann lösch eins von beidem raus.

wenn du ui rauslöschst, musst du einfach nur

Code: Alles auswählen

setupUi(this);
machen und kannst wie ganz oben auf deine Elemente zugreifen.

Wenn du die Klassenableitung löschst, musst du wie hier

Code: Alles auswählen

ui.setupUi(this);
aufrufen und alle Elemente über ui Aufrufen, wie ChMaster schon gesagt hat.
ChMaster
Beiträge: 252
Registriert: 23. Februar 2005 14:44
Wohnort: RP -> Alzey
Kontaktdaten:

Beitrag von ChMaster »

und hier ein bsp. zu KernelPanics Post

Header: qt_test.h

Code: Alles auswählen

#ifndef QT_TEST_H
#define QT_TEST_H

#include <QtGui>
#include <QtCore>

#include "ui_qttest.h"

// Ui::<FormName> ist der Formname deiner Ui Datei die du im Designer vergeben hast
// einfach in die ui_qttest.h reinschauen :)
class Qt_Test: public QWidget, public Ui::Qt_Test
{
	Q_OBJECT

	public:
		Qt_Test( QWidget *parent = 0 );
		~Qt_Test();
};

#endif // QT_TEST_H
Cpp: qt_test.cpp

Code: Alles auswählen

#include "qt_test.h"

Qt_Test::Qt_Test(QWidget *parent)
    : QWidget(parent)
{
   setupUi(this);
   m_pcBtnStop->setEnabled(false);
}

Qt_Test::~Qt_Test()
{

}
ChMaster
------------ Projekte------------
DBoxFE
DMS
First4 (Plugin-Develper)
Antworten