项目场景:
项目场景:在写Btm_Ver_2.0时,负责加入一个提示框,显示输入密码进入管理员模式,出现了一些错误。
问题描述:
提示:pass.h文件中,password出现红色波浪线。会报错c2039等等一系列问题。
private:
Ui::password ui;
附上password.h文件中的所有代码:
#pragma once
#include <QWidget>
#include "ui_password.h"
#include<QGraphicsItemGroup>
#include<QGraphicsScene>
#include<QGraphicsView>
#include<QGraphicsPixmapItem>
#include<QProgressDialog>
class password : public QWidget
{
Q_OBJECT
public:
password(QWidget *parent = Q_NULLPTR);
~password();
private:
Ui::password ui;
public slots:
void on_pushButton_cancel_clicked();
void on_pushButton_determine_clicked();
};
原因分析:
当初在整个大程序里面添加弹出框时,是先添加.ui文件,然后手动添加的.h和.cpp文件。导致ui_password.h文件里一些变量名字对不上。
解决方案:
有两个方法:
一、重新画ui界面图
点击添加->add to class->QtWidgetsClass;然后会自己出现.h文件和.cpp文件,不能进行手动添加。
二、更改ui_password.h文件
第一个修改的地方,在class Ui_password,将ui后的名字改为ui文件的名字。
/********************************************************************************
** Form generated from reading UI file 'password.ui'
**
** Created by: Qt User Interface Compiler version 5.8.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#ifndef UI_PASSWORD_H
#define UI_PASSWORD_H
#include <QtCore/QVariant>
#include <QtWidgets/QAction>
#include <QtWidgets/QApplication>
#include <QtWidgets/QButtonGroup>
#include <QtWidgets/QGridLayout>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QHeaderView>
#include <QtWidgets/QLabel>
#include <QtWidgets/QLineEdit>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QSpacerItem>
#include <QtWidgets/QWidget>
QT_BEGIN_NAMESPACE
class Ui_password
{
public:
第二个修改的地方,文件的最下部,将class后的和public后的文件改为ui界面的名字。
namespace Ui {
class password : public Ui_password {
};
} // namespace Ui
QT_END_NAMESPACE
#endif // UI_PASSWORD_H
转载:https://blog.csdn.net/weixin_44812920/article/details/115618281
查看评论