Qlabel settext 崩溃了

Posted

技术标签:

【中文标题】Qlabel settext 崩溃了【英文标题】:Qlabel settext is crashing 【发布时间】:2015-05-05 18:56:36 【问题描述】:

我使用 qt 设计器创建了一个对话框。它为我生成了一个 .ui、cpp 和标题。

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;
;

用户界面看起来像:

每次我尝试访问此对话框时,我的应用都会崩溃

ui->buildversion->setText("toto");

有什么想法吗?

谢谢

【问题讨论】:

附加一个调试器以找出导致崩溃的确切原因。 在设置标签文本之前调用 ui->setupUi(this) 会更好? @vahancho 谢谢它是如此简单,以至于我已经完成了所有复杂的解决方案 【参考方案1】:

你应该setupUi之前:

DialogAbout::DialogAbout(QWidget *parent) :
   QDialog(parent),
   ui(new Ui::DialogAbout)

    ui->setupUi(this);
    ui->buildversion->setText("toto");

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

【讨论】:

以上是关于Qlabel settext 崩溃了的主要内容,如果未能解决你的问题,请参考以下文章

C++,Qt4 - QLabel.setText() 似乎会导致分段错误

为啥gui线程在槽中调用QLabel控件的setText方法响应慢?

Qt之QLabel

textView.setText();崩溃

Qt中遇到QLineEdit设置文本setText时程序崩溃

当我使用 setText 方法时,我的 Android 程序崩溃了