Qt无法将标签修改为ui

时间:2013-08-07 08:50:20

标签: qt qlabel

我正在创建一个popuo窗口,可以更改显示的消息。我有下一堂课

class NoPutPort : public QDialog, public Ui::NoPortPut
{
Q_OBJECT;
public:
  NoPutPort(QWidget *parent=0)  {
     setupUi(this);
}

~NoPutPort(void) {}

void putPort(QString a){
    ui.label_2->setText(a);
}

private:
Ui::NoPortPut ui;
};

问题是,当我调用方法putPort,应用程序崩溃,我不知道为什么。如果我把ui.label_2,它不会崩溃,但当我访问该对象进行修改时,它会崩溃。

任何人都知道如何正确修改标签?

1 个答案:

答案 0 :(得分:3)

你搞砸了代码。它应该是:

class NoPutPort : public QDialog
{
Q_OBJECT;
public:
  NoPutPort(QWidget *parent=0)  {
     ui.setupUi(this);
}

~NoPutPort(void) {}

void putPort(QString a){
    ui.label_2->setText(a);
}

private:
   Ui::NoPortPut ui;
};

XOR

class NoPutPort : public QDialog, public Ui::NoPortPut
{
Q_OBJECT;
public:
  NoPutPort(QWidget *parent=0)  {
     setupUi(this);
}

~NoPutPort(void) {}

void putPort(QString a){
    label_2->setText(a);
}
};