首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在qt中实现此效果:当我单击按钮时添加新的lineedit

如何在qt中实现此效果:当我单击按钮时添加新的lineedit
EN

Stack Overflow用户
提问于 2013-01-04 23:40:38
回答 1查看 475关注 0票数 1

新手来了。我希望在我的dock小部件中有一个图形用户界面效果,每当我单击"add more“按钮或链接时,一个新的lineEdit字段就会出现在底部。

我看到很多软件都有类似这样的东西

代码语言:javascript
复制
point-1 (_____,_____)
point-2 (_____,_____)
+ Add More Points

当你点击"+ Add More Points“时,一个新的-3\f25 point-3会出现并等待输入。

我现在拥有的代码是这样的:

代码语言:javascript
复制
#include "perfectPanel.hpp"

perfectPanel::perfectPanel(QWidget *parent) : QWidget(parent)
{
    setupUi(this);
    readInfo();

    connect
    (
        btn_accept,
        SIGNAL(clicked()),
        this,
        SLOT(readInfo()),
        Qt::UniqueConnection
    );
}

// Destructor
perfectPanel::~perfectPanel()
{}

void perfectPanel::readInfo()
{
    xObject_ = vtkDoubleArray::New();
    yObject_ = vtkDoubleArray::New();
    xObject_->InsertNextValue( lineEdit_xObject01X->text().toDouble() );
    xObject_->InsertNextValue( lineEdit_xObject02X->text().toDouble() );
    yObject_->InsertNextValue( lineEdit_yObject01Y->text().toDouble() );
    yObject_->InsertNextValue( lineEdit_yObject02Y->text().toDouble() );
}
EN

回答 1

Stack Overflow用户

发布于 2013-01-05 00:05:58

您需要将+ Add More Points按钮添加到perfectPanel类中。假设您已经在您的类的私有数据部分中使用此声明完成了此操作:

QPushButton* m_AddPoint;

现在,将按钮的clicked()信号连接到某个插槽以添加点。从示例代码中,您似乎已经知道如何做到这一点,因此我将不再详细介绍。假设您已经将按钮的单击事件连接到addPoint函数。

代码语言:javascript
复制
void perfectPanel::addPoint()
{
    /* The "this" argument is needed to prevent memory leaks */
    QLineEdit* Field = new QLineEdit(this);

    /* Your perfectPanel class has some layout where the existing LineEdit rows
       are. I'm assuming m_Layout is a pointer to that layout here. */
    m_Layout->addWidget(Field);
    Field->show();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14160186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档