Qlabel settext崩溃

时间:2015-05-05 18:56:37

标签: c++ qt qdialog qlabel

我使用qt设计器创建了一个对话框。它会生成一个.ui,cpp和header。

定义了cpp:

DialogAbout::DialogAbout(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::DialogAbout)
{
    ui->buildversion->setText("toto");
    ui->setupUi(this);
}

class DialogAbout : public QDialog
{
    Q_OBJECT

public:
    explicit DialogAbout(QWidget *parent = 0);
    ~DialogAbout();
    QLabel *buildversion;

private:
    Ui::DialogAbout *ui;
};
用户界面如下:

enter image description here

每次我在尝试

时访问此对话框时,我的应用都会崩溃
ui->buildversion->setText("toto");

有什么想法吗?

由于

1 个答案:

答案 0 :(得分:5)

您应该setupUi之前:

DialogAbout::DialogAbout(QWidget *parent) :
   QDialog(parent),
   ui(new Ui::DialogAbout)
{
    ui->setupUi(this);
    ui->buildversion->setText("toto");
}

调用setupUi()函数后,可以根据需要修改用户界面。
您可以从docs了解有关在应用程序中使用设计器UI文件的更多信息。