Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Qt/Poczatki] Błąd po zamknięciu aplikacji

Ostatnio zmodyfikowano 2012-11-20 22:26
Autor Wiadomość
diego997
Temat założony przez niniejszego użytkownika
[Qt/Poczatki] Błąd po zamknięciu aplikacji
» 2012-11-19 18:21:36
Cześć, podczas naciśniecia przycisku Quit lub krzyżyka aplikacja zostaje zamknięta a zaraz potem wyskakuje komunikat o błędzie

Microsoft Visual c++ Debug Library

Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)

A tutaj kod
C/C++
#include <QtGui>

int main( int argc, char * argv[] )
{
    QApplication a( argc, argv );
    QTextEdit textEdit;
    QPushButton quitButton( "Quit" );
   
    QObject::connect( & quitButton, SIGNAL( clicked() ), qApp, SLOT( quit() ) );
   
    QVBoxLayout layout;
    layout.addWidget( & textEdit );
    layout.addWidget( & quitButton );
   
    QWidget window;
    window.setLayout( & layout );
   
    window.show();
    return a.exec();
}
P-69576
cyklopek11
» 2012-11-19 19:14:41
Diego997 musisz pamiętać o hierarchii w Qt (podobnie w WinAPI). Twój główny QWidged ma być właścicielem QEdita i QPushButton. Jest to konieczne do poprawnego wywołania wszystkich destruktorów podrzędnych elementów. Wrzucenie ich do "worka" z QVBoxLayout nie wystarczy. Oto działający kod:
C/C++
#include <QApplication> // zalecają żeby dodawać do projektu GUI
#include <QtGui>

int main( int argc, char * argv[] )
{
    QApplication a( argc, argv );
    QWidget window;
    QTextEdit textEdit( & window );
    QPushButton quitButton( "Quit", & window );
    QObject::connect( & quitButton, SIGNAL( clicked() ), & a, SLOT( quit() ) );
    QVBoxLayout layout;
    layout.addWidget( & textEdit );
    layout.addWidget( & quitButton );
    window.setLayout( & layout );
    window.show();
    return a.exec();
}
P-69578
diego997
Temat założony przez niniejszego użytkownika
» 2012-11-20 22:26:01
Dzieki najmocniej troche sie dziwie dlaczego umiescili kod z bledem
P-69639
« 1 »
  Strona 1 z 1