QT 9.28

news/2024/9/29 1:21:30/

作业:

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


http://www.ppmy.cn/news/1531704.html

相关文章

便捷将屏幕投射到安卓/iOS设备-屏幕投射到安卓/iOS设备,Windows/Mac电脑或智能电视上-供大家学习研究参考

1. 下载并安装软件(安卓苹果都需要) 确保 Android 设备和 Windows/Mac电脑都安装。启动应用程序并将 Android 设备和 Windows / Mac 了解到同一个wifi下面。 2、 发起投屏请求 在接收设备上:

锦天云中秋之夜团圆家宴圆满成功

2024年9月7日&#xff0c;锦天云&#xff08;深圳&#xff09;计算机设备有限公司 在中国深圳成功举办了“融创智合•月满锦天 锦天云中秋之夜团圆家宴。本次盛会吸引了来自各行业的精英和合作伙伴&#xff0c;大家齐聚一堂&#xff0c;共同庆祝这一传统佳节&#xff0c;此次活…

Linux文件IO(十)-fcntl 和 ioctl

本小节给大家介绍两个新的系统调用&#xff1a;fcntl()和 ioctl()。 fcntl 函数 fcntl()函数可以对一个已经打开的文件描述符执行一系列控制操作&#xff0c;譬如复制一个文件描述符&#xff08;与 dup、dup2 作用相同&#xff09;、获取/设置文件描述符标志、获取/设置文件状…

企业数据可视化大屏的工具选择有哪些

数据作为企业的核心的资产已经越发的受到企业管理层的关注&#xff0c;数据不仅作为企业日常经营做出决策的重要依据&#xff0c;同时更是推动企业进行变革的核心&#xff0c;那么更好的利用数据以及解读各类数据报表就是最为核心的&#xff0c;所以也就带来了数据可视化的产品…

CentOS8.5.2111(3)实验之DHCP服务器架设

一、实验目标 1&#xff0e;掌握DHCP服务器的主配置文件各项申明参数及操作及其含义 2. 具备DHCP 服务器、中继服务器的配置能力 3. 具备测试客户端正常获取服务器分配地址的能力 4. 具备DHCP服务器故障排除能力 二、实训原理/流程 &#xff08;一&#xff09;项目背景 …

iOS 提取图片的主题色,并支持灵活提取

遇到一个需求&#xff0c;要提取图片中的色调&#xff0c;但还有一点特殊的需求&#xff0c;就是不是提取颜色最多的色调&#xff0c;也不是平均的色调&#xff0c;是图片中偏暗的色调 这就需要我们动态的调整我们提取的算法&#xff0c; 下面就看代码 dispatch_async(dispatch…

GO Serial 学习与使用

文章目录 主要特性安装基本用法配置选项错误处理其他功能 github.com/goburrow/serial 是一个 Go 包&#xff0c;提供了一种简单的方式来与串口进行交互。以下是该包的主要特性和用法的简要概述&#xff1a; 主要特性 跨平台支持&#xff1a;支持 Windows、macOS 和 Linux。简…

【电商搜索】现代工业级电商搜索技术-Ha3搜索引擎平台简介

【电商搜索】现代工业级电商搜索技术-Ha3搜索引擎平台简介 — 初稿V1.0 Ha3搜索引擎平台详细介绍 在当今的互联网时代&#xff0c;搜索引擎扮演着至关重要的角色&#xff0c;尤其是在电子商务领域。Ha3搜索引擎平台是由阿里巴巴搜索团队开发的一个先进的搜索引擎&#xff0c…