2017-11-24 15 views
-4

私はシリアルポートの数に応じて、ラベル、LineEdit、ボタンを動的に生成するために、これらの3つのボタンはスクロールバーをプルダウンすることができますインタフェースのサイズ、どのようにうまくいくのか、私はこれを以下に書いています。 enter image description hereQTは動的にラベル、LineEdit、ボタンを生成します

インタフェースが最後に洗浄した

enter image description here

enter image description here

enter image description here

メソッドにカプセル化の効果

+3

コードのスクリーンショットを投稿しないでください。コードを投稿してください。 –

答えて

0
void BaseUi::BaseScrollArea() 
{ 
    QScrollArea *pArea = new QScrollArea(); 
    QWidget *pWidget = new QWidget(); 
    pWidget->setStyleSheet("QWidget" "{background:white;}"); 
    m_vbox_layout = new QVBoxLayout(); 
    m_vbox_layout->addSpacerItem(new QSpacerItem(100, 30, 
    QSizePolicy::Expanding, QSizePolicy::Expanding)); 
    pWidget->setLayout(m_vbox_layout); 
    pArea->setWidget(pWidget); 
    pArea->setWidgetResizable(true); 
    m_main_layout = new QVBoxLayout(); 
    m_main_layout->addWidget(pArea); 
} 

void BaseUi::addAutoRecordUi(QString lab_neme, QString ledit_name) 
{ 
    QWidget *page = new QWidget; 
    QGridLayout *layout = new QGridLayout(page); 

    QLabel *label = new QLabel; 
    label->setText(lab_neme); 
    label->setFont(font()); 

    QLineEdit *ledit = new QLineEdit; 
    ledit->setText(ledit_name); 
    ledit->setFont(font()); 

    layout->addWidget(label, 0, 1); 
    layout->addWidget(ledit, 0, 2); 

    page->setLayout(layout); 

    m_vbox_layout->insertWidget(m_vbox_layout->count()-1, page); 

} 

void BaseUi::addMulRecordUi(QString lab_neme, QString ledit_name, QString 
     but_name) 
{ 
    QWidget *page = new QWidget; 
    QGridLayout *layout = new QGridLayout(page); 

    QLabel *label = new QLabel; 
    label->setText(lab_neme); 
    label->setFont(font()); 

    QLineEdit *ledit = new QLineEdit; 
    ledit->setText(ledit_name); 
    ledit->setFont(font()); 

    QPushButton *but = new QPushButton(but_name); 
    but->setFont(font()); 

    layout->addWidget(label, 0, 1); 
    layout->addWidget(ledit, 0, 2); 
    layout->addWidget(but, 0, 3); 

    page->setLayout(layout); 

    m_vbox_layout->insertWidget(m_vbox_layout->count()-1, page); 
} 
0
  1. QGridLayoutを定義してQScrollAreaを定義します。そして、あなたの新しいウィジェットを に追加してください。 QGridLayout :: addWidget
  2. テーブルセルに複数のウィジェットを表示するテーブルを定義します。その本当の複雑な方法。
+0

ありがとう、あなたは正しいです。 –

関連する問題