[C++] Qt: Pokazywanie QGridLayout na oknie "rodzica"



  • Witam, natknąłem się na problem podczas pisania klasy która obsługuje tworzenie kontrolek.
    Otóż próbuje wpakować parę kontrolek do classy QGridLayout i wyświetlić je na moim głównym oknie.
    Problem w tym że nic się nie pokazuje.

    @c++:
    void CMenager::Init(QMainWindow *Win){
    this->L_R_New = new QGroupBox[2];
    this->vBox = new QVBoxLayout(Win);
    this->Button= new QPushButton("Test");
    this->Layout = new QGridLayout(Win);
    // L_R_New[0].setGeometry(100,100,200,200);
    L_R_New[0].setTitle("Test");
    L_R_New[1].setTitle("Test1");
    // L_R_New[1].setGeometry(200,200,200,200);

    Layout->addWidget(&L_R_New[0],0,0); 
    Layout->addWidget(&L_R_New[1],0,1); 
    Layout->addWidget(Button,1,1,10,10); 
    Win->setLayout(Layout); 
    

    }@

    O ile przyciski i groupboxy pokazują się gdy ustawie rodzica na "główne okno", to Layout niestety nie . W jaki sposób "zmusić" Layout do pokazania się na głównym oknie ?
    Klasa CMenager ma zajmować się tworzeniem,dodawaniem i wyświetlaniem kontrolek na głównym oknie.



  • Ok.
    Udało mi się to zrobić dodając:
    Czy jest to najlepszy i jedyny sposób ?
    @QWidget* widget = new QWidget(mainWindow);
    widget->setLayout(Layout);
    Win->setCentralWidget(widget);@


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.