QWidget 및 Ui_Form에서 상속 된 클래스가 있습니다 (자동 생성 클래스는 Qt에서 .ui를 만들 때 나타납니다).QWidget "access violation"exeption
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에서 상속되므로이 membes를 사용할 수 있습니다. 하지만 무언가를하려고 할 때 "Access violation reading location"이라는 예외가 있습니다. 예 :
fileNameEdit->setText("String");
누군가 조언을 줄 수 있습니까?
그리고 setupUi를 실행 한 후에합니까? – dbrank0
[documentation at glance] (http://doc.qt.io/qt-4.8/designer-using-a-ui-file.html)는 생성자에서'setupUi (this) '를 호출해야한다는 것을 보여준다. 너? – Botje
예, setupUI를 실행했습니다. 그리고 회원들은 NULL과 동등하지 않습니다. 하지만, 실수는 어쨌든 나타납니다 – Dmitrii