2014-06-18 2 views
1

나는 다음과 같은 사용자 정의 위젯을 가지고Qt는 위젯 레이아웃 추가 이벤트

내가 QBrowserContainer로는 QWidget을 추진 Qt는 창조주
QBrowserContainer::QBrowserContainer(QWidget *parent) : 
    QWidget(parent) 
{ 

    QPushButton *test= new QPushButton("Test",this); 

    // ----> layout()->addWidget(test); 
} 

.

주석 달린 줄에 위젯을 추가했지만 아직 레이아웃이 없기 때문에 위젯을 추가 할 수 없습니다. QBrowserContainer를 만든 후 setupUI에 추가됩니다. 그래서 제 질문은 : 레이아웃이 위젯에 추가 될 때 트리거되는 이벤트가 있습니까? 그래서 위젯을 레이아웃에 추가 할 수 있습니까?

나는 내가 레이아웃을 생성하고이 같은 위젯을 추가 할 수 있다는 사실을 알고 :

QBrowserContainer::QBrowserContainer(QWidget *parent) : 
     QWidget(parent) 
    { 

     QPushButton *test= new QPushButton("Test",this); 

     QHBoxLayout* pLayout = new QHBoxLayout(this); 
     pLayout->addWidget(test); 

    } 

하지만 난 (SetupUI 만든()) 디자이너에 의해 생성 된 레이아웃을 사용하고 싶습니다.

감사

답변

1

당신은 ui->을 통해 디자이너에서 만든 레이아웃에 액세스 할 수 있습니다. 예를 들어 그 다음에 기본적으로 이름이 gridLayout가요 QGridLayout 경우 :

ui->gridLayout->addWidget(test); 

당신은 디자이너의 이름을 확인할 수 있습니다.