如何清除qt creator中的标签
How to clear a label in 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].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->clear();
}
如果有人知道怎么做请回答,
感谢大家,抱歉我的英语不好。
也许你应该试试
void preventivi::on_pushButton_clicked()
{
ui->TotaleFinestre->setText("");
}
由于 QLabel 定义了插槽 void QLabel::clear()
,您还可以使用 QObject::connect
方法将此插槽与单击按钮后将发出的 clicked() 信号连接起来:
QObject::connect(pointer_to_your_pushButton, SIGNAL(clicked()), pointer_to_your_label, SLOT(clear()));
编辑:这是一个小例子
UI 是一个具有 QLabel 和 QPushButton 的 QWidget。我用 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;
}
您甚至可以在 Qt Designer 中使用 "Edit Signals/Slots" 并在您的小部件之间建立 signal/slot 连接。 (你不需要手动调用前面的 QObject::connect,因为它会在 Ui_Widget
class 中自动完成,由 uic 生成)
或者您可以在没有 Qt Designer 的情况下完成所有操作,这取决于您。
希望这有帮助。
这是我第一次在这个网站上写文章,我正在尝试通过 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->clear();
}
如果有人知道怎么做请回答,
感谢大家,抱歉我的英语不好。
也许你应该试试
void preventivi::on_pushButton_clicked()
{
ui->TotaleFinestre->setText("");
}
由于 QLabel 定义了插槽 void QLabel::clear()
,您还可以使用 QObject::connect
方法将此插槽与单击按钮后将发出的 clicked() 信号连接起来:
QObject::connect(pointer_to_your_pushButton, SIGNAL(clicked()), pointer_to_your_label, SLOT(clear()));
编辑:这是一个小例子
UI 是一个具有 QLabel 和 QPushButton 的 QWidget。我用 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;
}
您甚至可以在 Qt Designer 中使用 "Edit Signals/Slots" 并在您的小部件之间建立 signal/slot 连接。 (你不需要手动调用前面的 QObject::connect,因为它会在 Ui_Widget
class 中自动完成,由 uic 生成)
或者您可以在没有 Qt Designer 的情况下完成所有操作,这取决于您。 希望这有帮助。