新手在这里。我希望在Dock小部件中有一个GUI效果,每当我点击“添加更多”按钮或链接时,底部会出现一个新的lineEdit字段。
我看到很多软件都有类似
的东西point-1 (_____,_____)
point-2 (_____,_____)
+ Add More Points
当您点击“+ Add More Points
”时,新的第3点将会显示并等待输入。
我现在的代码是这样的:
#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() );
}
答案 0 :(得分:1)
您需要将+ Add More Points
按钮添加到perfectPanel
课程。假设您已经在班级的私人数据部分中使用此声明完成了此操作:
QPushButton* m_AddPoint;
现在,将按钮的clicked()
信号连接到某个插槽以添加该点。从示例代码中,您似乎已经知道如何执行此操作,因此我不会详细说明。假设您已将按钮的单击事件连接到addPoint
函数。
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();
}