《C++ GUI Programming with Qt 4》书中的一个例子,即用QT Designer建立一个可伸展的对话框,一步步按书上来了结果出现如题错误。认真检查了一下源代码(防止ctrl+c出现问题),没问题。于是google,发现同种错误的人还不少,点开第一个就提到查看.ui文件,第二个提到看看父类是否包含进去了。问题出现的地方正是新建QDialog以及UI::sortDialog子类的地方:
#ifndef SORTDIALOG_H
#define
SORTDIALOG_H
#include
<
QDialog
>
#include
"
ui_sortdialog.h
"
class
SortDialog :
public
QDialog,
public
Ui::SortDialog{ Q_OBJECT
public
: SortDialog(QWidget
*
parent
=
0
);
void
setColumnRange(QChar first, QChar last);};
#endif
显然,QDialog是没问题的,于是查看ui,打开后一眼就看见name为sortDialog,大小写错误,于是改之。之后再次编译发现有些变量未声明。于是老老实实查看UI,发现果然一堆name和源码不一致……改正之后,一切就OK了。
转载于:https://www.cnblogs.com/iambobor/archive/2011/04/26/2029809.html