J'essaie de créer un programme simple composé d'un bouton et d'une étiquette. Lorsque le bouton est pressé, il devrait changer le texte de l'étiquette à tout ce qui est dans une variable QString à l'intérieur du programme. Voici mon code à ce jour:Modification d'une étiquette dans Qt
Ceci est mon fichier widget.h:
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
private:
Ui::WidgetClass *ui;
QString test;
private slots:
void myclicked();
};
Et voici la mise en œuvre de la classe 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);
}
Il fonctionne, mais lorsque le bouton est cliqué, Rien ne se passe. Qu'est-ce que je fais mal? Edit: après l'avoir fait fonctionner, le texte de l'étiquette était plus grand que l'étiquette elle-même, donc le texte a été coupé. Je l'ai corrigé en ajoutant ui->label->adjustSize()
à la définition de myclicked().