我是 C++ 和 QT 的新手,我正在使用 QT Creator,我创建了一个名为 nGui 的 QT Widget 项目,添加了一个名为 mydlg 的 QT-QT Designer 表单类,我一直在尝试在窗口,当您单击它时会打开另一个窗口,而原始窗口会继续显示。这是我的代码,但它总是显示错误:“my2”未在此范围内声明。我已经在 widget.h 中声明了 'my2',并且我在 mydlg.cpp 中包含了 widget.h 文件,我不知道哪里错了,有人可以帮我吗?非常感谢!
mydlg.cpp
#include "mydlg.h"
#include "ui_mydlg.h"
myDlg::myDlg(QWidget *parent) :
QDialog(parent),
ui(new Ui::myDlg)
{
ui->setupUi(this);
}
myDlg::~myDlg()
{
delete ui;
}
void myDlg::on_pushButton_clicked()
{
my2.show();
}
小部件.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include"mydlg.h"
namespace Ui
{
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
private:
Ui::Widget *ui;
myDlg my2;
private slots:
void on_pushButton_clicked();
};
#endif // WIDGET_H
主要.cpp
#include <QtGui/QApplication>
#include "widget.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}
最佳答案
my2
在 Widget
类中声明,但您试图在 myDlg
类的成员函数中访问它。
关于C++ “was not declared in this scope” 编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15017702/