如何修复此错误
How can I fix this error?
我在阅读《用Qt进行C++GUI编程》一书时尝试运行此示例代码时遇到了此错误。
gotocelldialog.h:
#ifndef GOTOCELLDIALOG_H
#define GOTOCELLDIALOG_H
#include <QDialog>
#include "ui_gotocelldialog.h"
class gotocelldialog : public QDialog, public Ui::goToCellDialog
{
Q_OBJECT
public:
explicit gotocelldialog(QWidget *parent = 0);
signals:
public slots:
void on_lineEdit_textChanged();
};
#endif // GOTOCELLDIALOG_H
gotocelldialog.cpp:
#include "gotocelldialog.h"
#include <QtGui>
gotocelldialog::gotocelldialog(QWidget *parent) :
QDialog(parent)
{
setupUi(this);
QRegExp regExp("[A-Za-z][1-9][0-9]{0,2}");
lineEdit->setValidator(new QRegExpValidator(regExp,this));
connect(okButton,SIGNAL(clicked()),this,SLOT(accept()));
connect(cancelButton,SIGNAL(clicked()),this,SLOT(accept()));
}
void gotocelldialog::on_lineEdit_textChanged(){
okButton->setEnabled(lineEdit->hasAcceptableInput());
}
main.cpp:
#include <QApplication>
#include <QDialog>
#include "gotocelldialog.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
gotocelldialog* dialog = new gotocelldialog();
dialog->show();
return a.exec();
}
当我运行这个程序时,它会显示以下错误消息:
/home/ayush/untitled3/gotocelldialog.cpp:6: error: no matching function for call to 'gotocelldialog::setupUi(gotocelldialog*)'
setupUi(this);
^
../untitled3/gotocelldialog.cpp:6:17: note: candidate is:
In file included from ../untitled3/gotocelldialog.h:5:0,
from ../untitled3/gotocelldialog.cpp:1:
./ui_gotocelldialog.h:49:10: note: void Ui_goToCellDialog::setupUi(QMainWindow*)
void setupUi(QMainWindow *goToCellDialog)
^
./ui_gotocelldialog.h:49:10: note: no known conversion for argument 1 from 'gotocelldialog*' to 'QMainWindow*'
Makefile:344: recipe for target 'gotocelldialog.o' failed
make: *** [gotocelldialog.o] Error 1
17:15:13: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project untitled3 (kit: Desktop)
When executing step 'Make'
这个错误的原因是什么?如何解决?
看起来您的ui文件定义了QMainWindow
,但您的代码需要QDialog
。
因此存在不匹配,您可能应该从QDialog模板重新创建ui文件,或者在编辑器中对其进行更改。
相关文章:
- 静态数据成员的问题-修复链接错误会导致编译器错误
- 如何修复此错误:未定义对"距离(浮点数,浮点数,浮点数,浮点数,浮点数)"的引用
- 当使用带有VS2019或VSCode的虚幻引擎4.24.2时,我如何修复这些错误的Intellisense错误
- 如何修复sfml c++代码编译错误
- 我收到同义重复编译器错误。我应该如何修复"类型"X"的参数与类型"X"的参数不兼容?
- 如何修复此错误:className::className的无效使用
- 当我尝试加载内核模块时,如何修复C++中的这个 malloc() 错误?
- 如何修复valgrind启动时的致命错误(与libc6-dbg和libc6-dbg:i386连接)
- 修复未初始化的局部变量错误
- 类型为 "Bucket&"(未限定的 const 限定)的引用不能使用 "SortedList." 类型的值进行初始化 如何修复此错误?
- 在gcc中意外调用了Const重载.编译器错误或兼容性修复程序
- 如何修复此特征矩阵反演溢出错误?
- 试图修复一个错误,该错误不会让我开始编程其余部分
- 如何修复输出日志中的"EnableInput can only be specified on a Pawn for its Controller"错误
- 如何修复无效的API密钥,IP或操作权限错误?
- 避免指针运算,修复叮当整齐错误
- 如何使用运行时检查错误来修复我的C 格斗游戏
- 矢量下标超出范围错误-如何修复此SPECIFIC错误
- 包错误需要修复
- 如何在程序中出现错误之前修复丢失';' '*'?