将系统给定的工程文件相关代码全部进行注释
头文件
源文件
测试文件
运行结果:
widget.h
#ifndef WIDGET_H
#define WIDGET_H //避免重复包含文件
#include <QWidget> //父类的头文件
#include <QDebug>
#include <QPushButton>
#include <QLineEdit>
#include <QLabel>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; } //命名空间的声明
QT_END_NAMESPACE
class Widget : public QWidget //自定义的类,用来继承QMainWindow类
{
Q_OBJECT //处理信号与槽的元对象
signals:
void my_signal();
private slots:
void my_slot();
void on_btn3_clicked();
public:
Widget(QWidget *parent = nullptr); //声明构造函数
~Widget(); //声明析构函数
private:
Ui::Widget *ui; //指向ui界面的指针
};
#endif // WIDGET_H
main.cpp
#include "widget.h" //引入自定义的头文件
#include <QApplication> //引入应用程序的头文件
int main(int argc, char *argv[]) //主函数
{
QApplication a(argc, argv); //实例化应用程序的对象
Widget w; //用自定义对象在栈区实例化一个对象
w.show(); //调用show将界面显示出来
return a.exec(); //阻塞等待界面处理
}
widget.cpp
#include "widget.h" //包含自定义的头文件
#include "ui_widget.h" //包含ui界面的头文件
Widget::Widget(QWidget *parent) //构造函数的实现
: QWidget(parent) //调用父类的构造函数
, ui(new Ui::Widget) //给指针成员初始化空间
{
ui->setupUi(this); //调用ui界面的设置界面函数
//设置固定尺寸
// this->setFixedSize(300,400);
//更改窗口标题
this->setWindowTitle("QQ");
//更改窗口图标
this->setWindowIcon(QIcon("D:\\Document\\C++&QT\\DAY7\\my_icon\\icon\\icon\\QQ.png"));
ui->btn1->setIcon(QIcon("D:\\Document\\C++&QT\\DAY7\\my_icon\\icon\\icon\\denglu.png"));
ui->btn2->setIcon(QIcon("D:\\Document\\C++&QT\\DAY7\\my_icon\\icon\\icon\\denglu.png"));
ui->btn3->setIcon(QIcon("D:\\Document\\C++&QT\\DAY7\\my_icon\\icon\\icon\\quxiao.png"));
ui->edt1->setPlaceholderText("账号");
ui->edt2->setEchoMode(QLineEdit::Password);
ui->label1->setScaledContents(true);
ui->label2->setScaledContents(true);
ui->label1->setPixmap(QPixmap("D:\\Document\\C++&QT\\DAY7\\my_icon\\icon\\icon\\zhanghao.png"));
ui->label2->setPixmap(QPixmap("D:\\Document\\C++&QT\\DAY7\\my_icon\\icon\\icon\\denglumima.png"));
ui->label->setScaledContents(true);
ui->label->setPixmap(QPixmap("D:\\Document\\C++&QT\\DAY7\\my_icon\\icon\\icon\\logo.png"));
connect(ui->btn2,SIGNAL(clicked()),this,SLOT(my_slot()));
}
Widget::~Widget() //定义析构函数
{
delete ui; //释放类中的指针成员空间
}
void Widget::my_slot()
{
QString count = ui->edt1->text();
QString passwd = ui->edt2->text();
if(count == "admin" && passwd == "123456")
{
qDebug() << "login success!";
close();
}
else
{
qDebug() << "账号和密码不匹配,请重新输入!";
ui->edt2->clear();
ui->edt1->clear();
}
}
void Widget::on_btn3_clicked()
{
close();
}
ui