QT 9.28
作业:
1>创建一个新项目,将默认提供的程序都注释上意义
2>使用代码的形式实现登录框
main.cpp
#include "login.h"//文件包含,自定义的头文件,该头文件中包含了图形化界面类#include <QApplication>//包含应用程序的头文件int main(int argc, char *argv[]){QApplication a(argc, argv); //使用应用程序类实例化对象,调用有参构造login w; //使用自定义的类调用无参构造在栈区构造一个界面对象w.show(); //调用对象的成员函数,将界面展示出来return a.exec();//a.exec():使用应用程序类对象,调用应用程序的成员函数,保证界面不被关闭,轮询等待界面上的时间发生//等待用户操作界面上的组件//等待界面上的信号与槽的响应//等待事件处理机制的实现}
login.h
#ifndef LOGIN_H#define LOGIN_H//防止头文件重复包含#include<QPushButton>#include<QLineEdit>#include<QIcon>#include <QWidget>#include<QLabel>#include<qmovie.h>#include<QDebug>//自定义的类的声明,公共继承自QWidget:QWidget中封装了有关图形化界面的相关操作的具体实现//由于继承的是系统提供的类,那么自定义的类中即使没有写任何东西,其类中也有很多成员了class login : public QWidget{Q_OBJECT //信号与槽的元对象,直接写即可,没有该宏,就不能使用信号与槽public:login(QWidget *parent = nullptr); //构造函数的声明~login(); //析构函数的声明 虚析构函数};#endif // LOGIN_H
login.cpp
#include "login.h"login::login(QWidget *parent): QWidget(parent) //在子类的初始化列表中显式调用父类的有参构造,来完成对子类从父类中继承下来成员的初始化{//设置窗口标题qDebug() << "当前界面标题为:"<< this->windowTitle();this->setWindowTitle("QQ Client");//设置窗口图标this->setWindowIcon(QIcon("C:/浏览/QQ.png"));//尺寸qDebug() << "width:"<<this->width() <<" height:"<<this->height();qDebug() <<"size :"<<this->size();this->setMaximumSize(800,600);this->setMinimumSize(QSize(400,300));// //背景// this->setStyleSheet("background-color:skyblue;");//设置当前界面大小this->setFixedSize(350,500);//1、使用无参构造在堆区申请一个按钮QPushButton * btn1 = new QPushButton;btn1->setParent(this); //将当前界面设置成组件的父组件btn1->setText("登录"); //设置按钮文本内容btn1->resize(80,40); //重新设置按钮尺寸btn1->move(80, 300); //移动当前组件位置btn1->setStyleSheet("color:white; background-color:skyblue; border-radius:10px;"); //设置样式表//2、使用有参构造,构造一个按钮,实例化对象时,顺便给定父组件QPushButton *btn2 = new QPushButton(this);btn2->setText("注册");btn2->resize(btn1->size()); //使用btn1的尺寸设置当前按钮的尺寸btn2->move(btn1->x()+btn1->width()+10, btn1->y()); //使用btn1的位置,确定btn2的位置btn2->setStyleSheet("color:white; background-color:skyblue; border-radius:10px;");// btn2->setEnabled(false); //设置按钮不可用//构建一个行编译器并指定父组件QLineEdit *edit1 = new QLineEdit(this);edit1->resize(300, 50); //重新设置大小edit1->move(25,200);edit1->setStyleSheet("color:Pink;");edit1->setAlignment(Qt::AlignCenter);edit1->setEchoMode(QLineEdit::Password);edit1->setPlaceholderText("输入QQ密码");QLineEdit *edit2 = new QLineEdit(this);edit2->setStyleSheet("color:Pink;");edit2->setAlignment(Qt::AlignCenter);edit2->setEchoMode(QLineEdit::Password);edit2->setPlaceholderText("输入QQ号");edit2->resize(edit1->size());edit2->move(edit1->x(),edit1->y()-edit1->height()-10);}login::~login(){}
效果展示:
Xmind
原文地址:https://blog.csdn.net/Tangver/article/details/142621372
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!