IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 用Qt5做一个影音播放软件(2)——登陆注册界面之设计和跳转 -> 正文阅读

[C++知识库]用Qt5做一个影音播放软件(2)——登陆注册界面之设计和跳转

因为原有边框比较难看所以我把原有的的边框去除,并添加鼠标拖拽使其移动的事件
首先在widget.cpp文件下输入如下的代码

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    //把窗口边框去除   这是去除原来的关闭边框
    setWindowFlags(Qt::FramelessWindowHint | windowFlags());
    //把窗口背景设置为透明;
    setAttribute(Qt::WA_TranslucentBackground);

}

因为把边框去除之后,无法进行移动,因此添加了一个鼠标点击移动事件,在widget.h文件中进行声明

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
    
    bool bPressFlag;//判度鼠标是否点击
    QPoint beginDrag;
private slots:

    void mousePressEvent(QMouseEvent *event);//鼠标点击

    void mouseReleaseEvent(QMouseEvent *event);//鼠标释放

    void mouseMoveEvent(QMouseEvent *event);//鼠标移动

然后进行定义写了一个声明之后可以 用alt+enter快捷键 快速转到.cpp文件中追加定义,这样就实现了界面的拖拽

void Widget::mousePressEvent(QMouseEvent *event)
{
    bPressFlag = true;
    beginDrag = event->pos();
    QWidget::mousePressEvent(event);
}

void Widget::mouseReleaseEvent(QMouseEvent *event)
{
    bPressFlag = false;
    QWidget::mouseReleaseEvent(event);
}

void Widget::mouseMoveEvent(QMouseEvent *event)
{
    if(bPressFlag)
    {
        QPoint relaPos(QCursor::pos() - beginDrag);
        move(relaPos);
    }
    QWidget::mouseMoveEvent(event);
}

我比较懒所以ui界面就比较随意了也没有栅格化,所以我直接固定大小,也就用了几个QLabel控件、QLineEdit和按钮;
推荐一个网站里面的好多矢量图真心好用哈哈哈忘记是哪位大佬推荐了我在小小推荐一手“https://www.iconfont.cn/”;还有一个文件转换的网站“https://www.aconvert.com/cn/”
在这里插入图片描述
最重要的就是QSS的样式,我是如下设置的

QLineEdit{
color:#8d98a1;
background-color: rgba(34, 34, 34, 255);
border: 1px solid rgb(50, 50, 50);
font-size:12px;
border-style:outset;
border-radius:10px;
font-style:MingLiU-ExtB;

}
QLabel{
	border-radius:10px;
}
QPushButton{
color: white;
border: 1px solid rgb(104, 98, 98);
background-color: rgb(104, 98, 98);
border-style:outset;
border-radius:10px;
font-style:MingLiU-ExtB;
}
.QFrame{
	
	border-image: url(:/Netflix X/img/h.jpg);
	border:0px;
}
#label
{background-color: rgba(34, 34, 34, 255);}
#reg_btn
{background-color: rgba(34, 34, 34, 255);
border:0px;}
#pushButton_2
{border-image: url(:/img/mini.png);
background-color: rgb(25, 25, 25);
border:0px;}
#pushButton_3
{border-image: url(:/img/close.png);
background-color: rgb(25, 25, 25);
border:0px;}
#pushButton
{background-color: rgba(34, 34, 34, 255);
border:none;
border-image: url(:/img/log.png);}

记得添加资源文件并把需要用到的图片视频等文件放在项目文件里,前缀也可以修改为“/”
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

然后就是窗口的跳转,点击注册按钮跳转到注册窗口
首先就是创建一个新的widget
在这里插入图片描述
在这里插入图片描述
输入名称
在这里插入图片描述
然后点击完成就可以了,重复之前的窗体边框去除和鼠标拖拽的工作,在新的ui界面,对按钮和输入框的样式进行设置,并且设置输入框的类型和提示
在这里插入图片描述
选择的类型(Nomal: 就是输入啥显示啥;NoEcho:不回应文字显示;Password:密码显示;Password EchoOnEdit:就是输入时可见,输入结束密码显示)
在这里插入图片描述

提示。
在这里插入图片描述

现在我们进行跳转的核心代码
在widget.h文件中添加注册界面的头文件,因为我们要点击注册按钮然后跳转到注册界面而且本来的登录界面不消失所以对注册按钮的点击信号进行声明和定义

#include<reg.h>
...
private slots:
	 ...
	 void on_reg_btn_clicked();//注册按钮
private:
    Ui::Widget *ui;
    reg *reg1=new reg;

在widget.cpp文件

void Widget::on_reg_btn_clicked()
{
    ui->nameEdit->clear();//让登录界面的输入框都清空
    ui->pwdEdit->clear();
    reg1->show();//显示注册界面
}

然后在reg.h文件中对关闭此界面的取消按钮进行声明和定义

private slots:
    void on_pushButton_2_clicked();//取消按钮

在reg.cpp文件中

void reg::on_pushButton_2_clicked()
{
    this->close();
}

这样就完成了登陆注册界面的跳转
效果如下:
在这里插入图片描述

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-01-11 23:48:36  更:2022-01-11 23:49:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:34:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码