单击qt时添加文本框

时间:2015-03-05 10:49:48

标签: c++ qt

我正在研究qt中的一个项目。我想在触发按钮后添加文本框和标签。我在QWidgets工作。我怎样才能做到这一点。请帮我完成任务。我搜索并获得了如何在单击按钮时在文本中添加文本,但我想要的是在单击按钮时添加文本框本身。在Triggring菜单项文本框之后应该添加。但无法找到如何做到这一点。

1 个答案:

答案 0 :(得分:1)

这是:

enter image description here

mainwindow.cpp

#include "mainwindow.h"
#include <QHBoxLayout>
#include <QPushButton>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    this->setCentralWidget(new QWidget());
    m_layout = new QHBoxLayout();
    this->centralWidget()->setLayout(m_layout);

    QPushButton * button = new QPushButton("Add another Button");
    QObject::connect(button, SIGNAL(clicked()), this, SLOT(on_buttonClick()));
    m_layout->addWidget(button);
}

MainWindow::~MainWindow()
{

}

void MainWindow::on_buttonClick()
{
    m_layout->addWidget(new QPushButton("New Button"));
}

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

#include <QHBoxLayout>

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();
public slots:
    void on_buttonClick();
private:
    QHBoxLayout * m_layout;
};

#endif // MAINWINDOW_H

的main.cpp

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

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}

希望有所帮助。