请注意:我还是c ++的新手,尝试使用qt creator自学。
我有以下错误:
/home/cx/qt-projects/project-i/loginstatusdialog.cpp:11: error: invalid conversion from 'QWidget*' to 'QDialog*' [-fpermissive]
ui->setupUi(parent);
^
我的标题文件:
#ifndef LOGINSTATUSDIALOG_H
#define LOGINSTATUSDIALOG_H
#include <QDialog>
#include <QtCore>
#include <QtGui>
#include <QtWidgets>
#include <thread>
#include "enums.h"
namespace Ui {
class LoginStatusDialog;
}
class LoginStatusDialog : public QDialog
{
Q_OBJECT
public:
// explicit LoginStatusDialog(QWidget *parent = 0);
explicit LoginStatusDialog(QWidget *parent = 0, const QString &_login = NULL, const QString &_key = NULL);
~LoginStatusDialog();
private:
Ui::LoginStatusDialog *ui;
QString login, key;
};
#endif // LOGINSTATUSDIALOG_H
实施如下
#include "loginstatusdialog.h"
#include "ui_loginstatusdialog.h"
QString DBServerIP = "81.4.122.16";
QString googleDNS = "8.8.8.8";
LoginStatusDialog::LoginStatusDialog(QWidget *parent, const QString &_login, const QString &_key) : QDialog(parent), ui(new Ui::LoginStatusDialog), login(_login), key(_key)
{
ui->setupUi(parent); <<< -------- ISSUE LIES HERE ---------
//some code here, etc.
setResult(ENUM_SUCCESS);
}
LoginStatusDialog::~LoginStatusDialog()
{
delete ui;
}
我发现帖子的问题比较温和,但我不遵循建议的解决方案,
对此解决方案的帮助表示赞赏。