Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/145.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在qt creator中清除标签_C++_String_Qt_Label_Qt Creator - Fatal编程技术网

C++ 如何在qt creator中清除标签

C++ 如何在qt creator中清除标签,c++,string,qt,label,qt-creator,C++,String,Qt,Label,Qt Creator,这是我第一次在这个网站上写作,我试图在Qt creator上找到我,但我遇到了一个问题: 我想在用户单击按钮时删除标签文本,我尝试了一些解决方案,但没有成功 代码如下: struct finestra{ float costo; int altezza; int larghezza; QString text; QString costoStr; }; float Totale=0; finestra vet[21]; int i=1; //SOME CODE Totale+=vet[i

这是我第一次在这个网站上写作,我试图在Qt creator上找到我,但我遇到了一个问题: 我想在用户单击按钮时删除标签文本,我尝试了一些解决方案,但没有成功

代码如下:

struct finestra{
float costo;
int altezza;
int larghezza;
QString text;
QString costoStr;
};

float Totale=0;
finestra vet[21];
int i=1;

//SOME CODE

 Totale+=vet[i].costo;
 vet[i].costoStr = QString::number(vet[i].costo);
 vet[i].text = vet[i-1].text + "Finestra ad un anta bianca <br>" + "€" + vet[i].costoStr +"<br>";
 ui->TotaleFinestre->setText(QString(vet[i].text));
 i++;
如果有人知道怎么做,请回答

谢谢大家也很抱歉我的英语不好。

也许你应该试试

void preventivi::on_pushButton_clicked()
{
    ui->TotaleFinestre->setText("");
}

当QLabel定义插槽时,您也可以使用点击按钮后发出的clicked()信号连接此插槽,使用
QObject::connect
方法:

QObject::connect(指针指向您的按钮,信号(单击()),指针指向您的标签,插槽(清除())

编辑:下面是一个小例子

UI是一个具有QLabel和QPushButton的QWidget。我是用Qt设计器做的,但在这里没关系

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    QObject::connect(ui->pushButton, SIGNAL(clicked()), ui->label, SLOT(clear()));
}

Widget::~Widget()
{
    delete ui;
}
您甚至可以使用Qt设计器中的“编辑信号/插槽”来实现这一点,并在小部件之间建立信号/插槽连接。(您不需要手动调用以前的QObject::connect,因为它将在uic生成的
Ui\u小部件
类中自动完成)

或者,您也可以不用Qt Designer完成所有工作,这取决于您自己。
希望这会有所帮助。

您是否检查过是否使用调试器或简单的调试输出调用插槽?你怎么接通?如果示例代码来自用户界面文件,可能您已重命名为“按钮”,那么连接已断开……您能更具体一点吗?我已编辑了我的答案,以便更具体地使用一个工作示例。不过,我建议你读一读
#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    QObject::connect(ui->pushButton, SIGNAL(clicked()), ui->label, SLOT(clear()));
}

Widget::~Widget()
{
    delete ui;
}