• 4362阅读
  • 3回复

[提问]编译gotocell3的问题 [复制链接]

上一主题 下一主题
离线cssin
 

只看楼主 倒序阅读 楼主  发表于: 2014-08-01
C++ GUI Programming with Qt 4中,第二章那个gotocell3 有如下代码
GoToCellDialog::GoToCellDialog(QWidget *parent)
    : QDialog(parent)
{
    setupUi(this);
    buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false);

    QRegExp regExp("[A-Za-z][1-9][0-9]{0,2}");
    lineEdit->setValidator(new QRegExpValidator(regExp, this));

    connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
    connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
}

用Qt 5.3.1编译错误
G:\Qt\02\GoToCell3\gotocelldialog.cpp:7: error: invalid use of incomplete type 'class QPushButton'
     buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false);

G:\Qt\02\GoToCell3\gotocelldialog.cpp:18: error: invalid use of incomplete type 'class QPushButton'
     buttonBox->button(QDialogButtonBox::Ok)->setEnabled(lineEdit->hasAcceptableInput());


这是为什么啊?
离线彩阳

只看该作者 1楼 发表于: 2014-08-01
#include <QPushButton>
上海Qt开发联盟,热忱地欢迎你的加入!
离线cssin

只看该作者 2楼 发表于: 2014-08-01
回 彩阳 的帖子
彩阳:#include <QPushButton> (2014-08-01 08:43) 

仍旧无效,错误代码如下
G:\Qt\02\GoToCell3\gotocelldialog.cpp:7: error: invalid use of incomplete type 'class QPushButton'
     buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false);
离线彩阳

只看该作者 3楼 发表于: 2014-08-01
大概意思是如果你不提供QPushButton的头文件,那么编译器无法找出它的成员函数,于是无法编译成目标(.o、.obj)代码。所以你必须添加该头文件。
上海Qt开发联盟,热忱地欢迎你的加入!
快速回复
限100 字节
 
上一个 下一个