#include "end.h" #include "ui_end.h" #include <QLabel> #include <QString> #include "barrier.h" #include "mainscene.h" end::end(QWidget *parent) : QWidget(parent), ui(new Ui::end) { ui->setupUi(this); } end::~end() { delete ui; } void end::on_pushButton_clicked() { close(); } void end::gets(int a){ s=a; ui->label->setText("score"); ui->label_2->setText(s); } gets成功被触发但 ui->label_2->setText(s);并没有成功,w.m_barriers[0].score 是否发送到s?
时间: 2024-04-18 08:26:35 浏览: 125
Qt例程源代码QLabel.7z
根据你提供的代码,`end::gets(int a)` 函数被成功触发,并且你将参数 `a` 的值赋给了 `s` 变量。然后,你尝试使用 `ui->label_2->setText(s)` 将标签的文本设置为 `s` 的值。
然而,根据你提供的代码,`ui->label_2` 并没有通过 `setupUi()` 函数初始化。通常,在使用 Qt Designer 创建界面时,会在自动生成的 `ui_end.h` 文件中定义并初始化这些 UI 元素。
请确保在 `end.ui` 文件中已经正确定义了 `label_2` 标签,并且已经使用 Qt Designer 生成了 `ui_end.h` 文件。然后,检查一下是否在 `end.ui` 文件中设置了正确的对象名称(Object Name)为 `label_2`。
另外,请确保在 `end.h` 中正确包含了 `ui_end.h` 头文件,并在构造函数 `end::end()` 中使用 `ui->setupUi(this)` 来初始化 UI 元素。
如果以上解决方案不适用,请提供更多与界面和标签相关的代码和上下文信息,以便我们能够更好地帮助你解决问题。关于 `w.m_barriers[0].score` 是否发送到 `s` 的问题,请确保在调用 `end::gets(int a)` 函数之前已经将信号与槽函数正确连接,并且信号传递了正确的参数。
阅读全文