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方法响应慢?