【发布时间】:2017-09-26 07:08:51
【问题描述】:
A 有一个类,继承自 QWidget 和 Ui_Form(自动生成的类,在 Qt 中创建 .ui 时出现)。好像
class MyClass: public QWidget, public Ui_Form {}
Ui_Form 有一些成员,它们与 .ui 文件中的相关小部件(例如,QLineEdits、QButtons 等)相连。
class Ui_Form {
public:
QLineEdit *fileNameEdit;
void setupUi(QWidget *Form) {
fileNameEdit = new QLineEdit(layoutWidget);
fileNameEdit->setObjectName(QStringLiteral("fileNameEdit"));
}
}
由于 MyClass 是从 Ui_Form 继承的,我可以使用这个成员。但是,当我尝试做某事时,我有一个例外“访问冲突读取位置”。例如:
fileNameEdit->setText("String");
谁能给个建议?
【问题讨论】:
-
你在 setupUi 运行之后再做吗?
-
A glance at the documentation 表明您需要在构造函数中调用 `setupUi(this)。你呢?
-
是的,我运行了 setupUI。当然,成员不等于 NULL。但是,错误还是出现了
标签: c++ qt access-violation qwidget