QT5學習:窗口布局測試


(1)、QWidget窗體顯示與隱藏:

    if(detailWidget->isHidden())
        detailWidget->show();//QWidget窗體顯示
    else
        detailWidget->hide();//QWidget窗體隱藏

(2)、

1. 直接添加兩個按鈕,則按鈕大小會隨前面控件:

    QGridLayout *LeftLayout =new QGridLayout;
    LeftLayout->addWidget(nameLabel,0,0);
    LeftLayout->addWidget(nameLineEdit,0,1);
    LeftLayout->addWidget(sexLabel);
    LeftLayout->addWidget(sexComboBox);

    QPushButton *OKBtn =new QPushButton(tr("確定"));
    QPushButton *DetailBtn =new QPushButton(tr("詳細"));
//    //QDialogButtonBox *btnBox =new QDialogButtonBox(Qt::Vertical);//對話框按鈕組,按鈕豎直放
//    QDialogButtonBox *btnBox =new QDialogButtonBox(Qt::Horizontal);//對話框按鈕組,按鈕水平放一排
//    btnBox->addButton(OKBtn,QDialogButtonBox::ActionRole);
//    btnBox->addButton(DetailBtn,QDialogButtonBox::ActionRole);
    LeftLayout->addWidget(OKBtn);
    LeftLayout->addWidget(DetailBtn);

    //QHBoxLayout *mainLayout =new QHBoxLayout(baseWidget);
    QVBoxLayout *mainLayout =new QVBoxLayout(baseWidget);
    mainLayout->addLayout(LeftLayout);


2. 以對話框按鈕組方式加入到佈局中,則按鈕會正常顯示:

<span style="color:#c0c0c0;">    </span><span style="color:#800080;">QGridLayout</span><span style="color:#c0c0c0;"> </span><span style="color:#000000;">*</span><span style="color:#000000;">LeftLayout</span><span style="color:#c0c0c0;"> </span><span style="color:#000000;">=</span><span style="color:#808000;">new</span><span style="color:#c0c0c0;"> </span><span style="color:#800080;">QGridLayout</span><span style="color:#000000;">;</span><pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style="color:#c0c0c0;">    </span><span style="color:#000000;">LeftLayout</span><span style="color:#000000;">-></span><span style="color:#000000;">addWidget</span><span style="color:#000000;">(</span><span style="color:#000000;">nameLabel</span><span style="color:#000000;">,</span><span style="color:#000080;">0</span><span style="color:#000000;">,</span><span style="color:#000080;">0</span><span style="color:#000000;">);</span>
    LeftLayout->addWidget(nameLineEdit,0,1);
    LeftLayout->addWidget(sexLabel);
    LeftLayout->addWidget(sexComboBox);

    QPushButton *OKBtn =new QPushButton(tr("確定"));
    QPushButton *DetailBtn =new QPushButton(tr("詳細"));
    //QDialogButtonBox *btnBox =new QDialogButtonBox(Qt::Vertical);//對話框按鈕組,按鈕豎直放
    QDialogButtonBox *btnBox =new QDialogButtonBox(Qt::Horizontal);//對話框按鈕組,按鈕水平放一排
    btnBox->addButton(OKBtn,QDialogButtonBox::ActionRole);
    btnBox->addButton(DetailBtn,QDialogButtonBox::ActionRole);
    //LeftLayout->addWidget(OKBtn);
    //LeftLayout->addWidget(DetailBtn);

    //QHBoxLayout *mainLayout =new QHBoxLayout(baseWidget);
    QVBoxLayout *mainLayout =new QVBoxLayout(baseWidget);
    mainLayout->addLayout(LeftLayout);
    mainLayout->addWidget(btnBox);//以對話框按鈕組方式加入到佈局中



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章