Я пытаюсь создать простую программу, состоящую из кнопки и метки. Когда кнопка нажата, она должна изменить текст метки на все, что находится в переменной QString внутри программы. Вот мой код до сих пор:Изменение метки в Qt
Это мой widget.h файл:
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
private:
Ui::WidgetClass *ui;
QString test;
private slots:
void myclicked();
};
А вот реализация класса Widget:
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent), ui(new Ui::WidgetClass)
{
ui->setupUi(this);
test = "hello world";
connect(ui->pushButton, SIGNAL(clicked()), ui->label, SLOT(myclicked()));
}
Widget::~Widget()
{
delete ui;
}
void Widget::myclicked(){
ui->label->setText(test);
}
Он работает, но при нажатии на кнопку, Ничего не произошло. Что я делаю не так?
Редактировать: после того, как я получил его, текст на этикетке был больше, чем сам ярлык, поэтому текст обрезался. Я исправил его, добавив ui->label->adjustSize()
в определение myclicked().