2010-09-13 16 views
8

Witam, jak dodać widżet wewnątrz widgetuJak widżet w innym widżecie w QT?

stworzyłem główny widget, a dla głównego paska nagłówka widgetu pochodzi z innego widgetu. tutaj kod poniżej

main.cpp

#include <QApplication> 
#include "mainwindow.h" 

int main(int argl,char *argv[]) 
{ 
    QApplication test(argl,argv); 

    mainWindow *window=new mainWindow(); 
    window->setWindowState(Qt::WindowFullScreen); 
    window->show(); 

    return test.exec(); 
} 

mainwindow.cpp

#include "mainwindow.h" 
#include <QtGui> 
#include "headerbar.h" 
#include <QGridLayout> 

mainWindow::mainWindow(QWidget *parent) : QWidget(parent) 
{ 

    QGridLayout *layout; 
    headerBar *Header=new headerBar(this); 
    layout->addWidget(Header,0,0); 
    this->setLayout(layout); 
} 


mainWindow::~mainWindow() 
{ 

} 

headerbar.cpp

#include "headerbar.h" 

headerBar::headerBar(QWidget *parent) : QWidget(parent) 
{ 
    this->setMaximumHeight(24); 
} 

headerBar::~headerBar() 
{ 

} 

mainwindow.h

#ifndef MAINWINDOW_H 
#define MAINWINDOW_H 

#include <QWidget> 

class mainWindow : public QWidget 
{ 
    Q_OBJECT 
public: 
    mainWindow(QWidget *parent = 0); 
    ~mainWindow(); 

signals: 

public slots: 

}; 

#endif // MAINWINDOW_H 

headerbar.h

#ifndef HEADERBAR_H 
#define HEADERBAR_H 

#include <QWidget> 

class headerBar : public QWidget 
{ 
    Q_OBJECT 
public: 
    headerBar(QWidget *parent = 0); 
    ~headerBar(); 

signals: 

public slots: 

}; 

#endif // HEADERBAR_H 

natomiast skompilować ten kod błędów. ale gdy próbuję uruchomić to na skutek błędu „wyszedł z kodem -1073741819”

proszę mi pomóc rozwiązać ten problem

Odpowiedz

6

podczas korzystania layout, ty nigdy nie stworzył i przypisać instancję do niego:

QGridLayout *layout; // no initialization here 
headerBar *Header = new headerBar(this); 
layout->addWidget(Header,0,0); // layout is uninitialized and probably garbage 

należy go utworzyć przed użyciem go:

QGridLayout *layout = new QGridLayout(this); 
+0

tak. to działało. dzięki – saravanan

Powiązane problemy