7.26 Qt

这篇具有很好参考价值的文章主要介绍了7.26 Qt。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

用QT制作一个登陆界面

运行代码

login.h
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QDebug>                   //信息调试类,用于输出
#include <QIcon>                    //图标类头文件
#include <QPushButton>              //按钮类头文件
#include <QLineEdit>                //行编辑器头文件
#include <QLabel>                   //标签头文件

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
    //使用无参构造标签
    QLabel *label1=new QLabel;          //背景标签
    QLabel *label2=new QLabel;          //用户文本框标签
    QLabel *label3=new QLabel;          //密码文本框标签
    QLabel *label4=new QLabel;          //超链接标签
    QLineEdit *edit1=new QLineEdit;     //用户行编辑器
    QLineEdit *edit2=new QLineEdit;     //密码行编辑器
    QPushButton *btn1=new QPushButton;  //登陆按钮
    QPushButton *btn2=new QPushButton;  //退出按钮

signals:
    void  registerSignal();   //自定义返回信号,用来发送给父窗口

public slots:
    void registerSlot();

};
#endif // WIDGET_H
register.h
#ifndef REGISTER_H
#define REGISTER_H

#include <QWidget>
#include <QDebug>                   //信息调试类,用于输出
#include <QIcon>                    //图标类头文件
#include <QPushButton>              //按钮类头文件
#include <QLineEdit>                //行编辑器头文件
#include <QLabel>                   //标签头文件

namespace Ui {
class Register;
}

class Register : public QWidget
{
    Q_OBJECT

public:
    explicit Register(QWidget *parent = nullptr);
    ~Register();

    QLabel *label1=new QLabel;          //用户名标签
    QLabel *label2=new QLabel;          //密码标签
    QLabel *label3=new QLabel;          //确认密码标签
    QLabel *label4=new QLabel;          //邮箱标签
    QLineEdit *edit1=new QLineEdit;     //用户名行编辑器
    QLineEdit *edit2=new QLineEdit;     //密码行编辑器
    QLineEdit *edit3=new QLineEdit;     //确认密码行编辑器
    QLineEdit *edit4=new QLineEdit;     //邮箱行编辑器
    QPushButton *btn1=new QPushButton;  //提交按钮
    QPushButton *btn2=new QPushButton;  //刷新按钮


private:
    Ui::Register *ui;


public slots:
    void sendSignal();    //用来发送返回信号
};

#endif // REGISTER_H
main.cpp
#include "login.h"
#include "register.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();

    Register r;  //实例化第二个界面
    //连接两个界面的信号与槽
    QObject::connect(&w,&Widget::registerSignal,&r,&Register::sendSignal);

    return a.exec();
}
login.cpp
#include "login.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    //1.固定当前界面的尺寸
    this->setFixedSize(800,600);           //调用函数设置宽和高
    //2.窗口标题的设置
    this->setWindowTitle("Blog");
    //3.设置窗口图标
    this->setWindowIcon(QIcon("C:\\Users\\Administrator\\Desktop\\Insert\\QT\\icon\\blog.jfif"));
    //4.设置背景色,可以使用qss代码完成样式表
    this->setStyleSheet("background-color:lightyellow;");
    //5.设置窗口透明度
    this->setWindowOpacity(1.0);

    //设置标签
    //利用标签设置背景
    label1->setParent(this);
    label1->resize(800,300);
    label1->setPixmap(QPixmap("C:\\Users\\Administrator\\Desktop\\Insert\\QT\\icon\\background.jpg"));  //设置图片标签
    label1->setScaledContents(true);   //设置内容自适应

    //利用标签设置 用户和密码
    //用户文本框标签
    label2->setParent(this);
    label2->resize(40,40);
    label2->move(200,350);
    label2->setPixmap(QPixmap("C:\\Users\\Administrator\\Desktop\\Insert\\QT\\icon\\login.png"));  //设置图片标签
    label2->setScaledContents(true);   //设置内容自适应

    //密码文本框标签
    label3->setParent(this);
    label3->resize(40,40);
    label3->move(200,450);
    label3->setPixmap(QPixmap("C:\\Users\\Administrator\\Desktop\\Insert\\QT\\icon\\pwd.png"));  //设置图片标签
    label3->setScaledContents(true);   //设置内容自适应

    //超链接标签
    label4->setParent(this);
    label4->resize(150,40);
    label4->move(150,545);
    label4->setText("<h3><style> a{text-decoration:none;color:lightgrey;}</style><a href=\"https:www.baidu.com\">百度一下</a></h3>");  //加\"是转义  <h1></h1>可有可无
    label4->setScaledContents(true);   //设置内容自适应
    label4->setOpenExternalLinks(true);  //设置点击连接自动打开 (跳转到浏览器)

    //用户行编辑器
    edit1->setParent(this);          //设置父组件
    edit1->resize(250,40);           //重新设置尺寸
    edit1->move(270,350);            //移动位置
    edit1->setPlaceholderText("username");

    //密码行编辑器
    edit2->setParent(this);
    edit2->resize(edit1->size());
    edit2->move(270,450);
    edit2->setEchoMode(QLineEdit::Password);     //设置密文模式
    edit2->setPlaceholderText("password");      //设置占位符

    //登陆按钮
    btn1->setParent(this);   //把当前界面当成父组件
    btn1->setText("Login");  //设置按钮上的文本内容
    btn1->resize(100,50);
    btn1->move(240,530);     //移动按钮的位置
    btn1->setStyleSheet("background-color:khaki;");  //设置背景色
    btn1->setIcon(QIcon("C:\\Users\\Administrator\\Desktop\\Insert\\QT\\icon\\login_1.png"));   //设置按钮图标
    connect(btn1, SIGNAL(clicked()), this, SLOT(registerSlot()));


    //退出按钮
    btn2->setParent(this);   //把当前界面当成父组件
    btn2->setText("Exit");  //设置按钮上的文本内容
    btn2->resize(btn1->size());
    btn2->move(480,530);     //移动按钮的位置
    btn2->setStyleSheet("background-color:khaki;");  //设置背景色
    btn2->setIcon(QIcon("C:\\Users\\Administrator\\Desktop\\Insert\\QT\\icon\\exit.png"));   //设置按钮图标
}

Widget::~Widget()
{
}

void Widget::registerSlot()
{
    emit registerSignal();
}
register.cpp
#include "register.h"
#include "ui_register.h"

Register::Register(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Register)
{
    ui->setupUi(this);

    //1.固定当前界面的尺寸
    this->setFixedSize(800,600);           //调用函数设置宽和高
    //2.窗口标题的设置
    this->setWindowTitle("Blog");
    //3.设置窗口图标
    this->setWindowIcon(QIcon("C:\\Users\\Administrator\\Desktop\\Insert\\QT\\icon\\blog.jfif"));
    //4.设置背景色,可以使用qss代码完成样式表
    this->setStyleSheet("background-color:lightyellow;");
    //5.设置窗口透明度
    this->setWindowOpacity(1.0);

    //用户名文本框标签
    label1->setParent(this);
    label1->resize(100,50);
    label1->move(200,100);
    label1->setText("Username");
    label1->setScaledContents(true);   //设置内容自适应

    //用户名文本框标签
    label2->setParent(this);
    label2->resize(100,50);
    label2->move(200,200);
    label2->setText("Password");
    label2->setScaledContents(true);   //设置内容自适应

    //重新确认文本框标签
    label3->setParent(this);
    label3->resize(100,50);
    label3->move(200,300);
    label3->setText("Reconfirm");
    label3->setScaledContents(true);   //设置内容自适应

    //邮箱文本框标签
    label4->setParent(this);
    label4->resize(100,50);
    label4->move(200,400);
    label4->setText("E-mail");
    label4->setScaledContents(true);   //设置内容自适应

    //用户名行编辑器
    edit1->setParent(this);          //设置父组件
    edit1->resize(250,40);           //重新设置尺寸
    edit1->move(300,100);            //移动位置
    edit1->setPlaceholderText("Username");

    //密码行编辑器
    edit2->setParent(this);          //设置父组件
    edit2->resize(250,40);           //重新设置尺寸
    edit2->move(300,200);            //移动位置
    edit2->setEchoMode(QLineEdit::Password);     //设置密文模式
    edit2->setPlaceholderText("Password");

    //用户名行编辑器
    edit3->setParent(this);          //设置父组件
    edit3->resize(250,40);           //重新设置尺寸
    edit3->move(300,300);            //移动位置
    edit3->setEchoMode(QLineEdit::Password);     //设置密文模式
    edit3->setPlaceholderText("Reenter");

    //用户名行编辑器
    edit4->setParent(this);          //设置父组件
    edit4->resize(250,40);           //重新设置尺寸
    edit4->move(300,400);            //移动位置
    edit4->setPlaceholderText("E-mail");

    //提交按钮
    btn1->setParent(this);   //把当前界面当成父组件
    btn1->setText("Submit");  //设置按钮上的文本内容
    btn1->resize(100,50);
    btn1->move(240,500);     //移动按钮的位置
    btn1->setStyleSheet("background-color:khaki;");  //设置背景色


    //刷新按钮
    btn2->setParent(this);   //把当前界面当成父组件
    btn2->setText("Restart");  //设置按钮上的文本内容
    btn2->resize(100,50);
    btn2->move(480,500);     //移动按钮的位置
    btn2->setStyleSheet("background-color:lightgrey;");  //设置背景色


}

Register::~Register()
{
    delete ui;
}

void Register::sendSignal()
{
    this->show();
}

界面展示

主界面
跳转界面

7.26 Qt,qt,开发语言

思维导图

 7.26 Qt,qt,开发语言

 文章来源地址https://www.toymoban.com/news/detail-616682.html

 

到了这里,关于7.26 Qt的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【VisualStudio】基于 Visual Studio 使用 C++ 语言开发 Qt 环境配置教程

    知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。 先上一张效果图,具体步骤主要分为以下三步。 这一步不再赘述,注意一定要安装 C++ 语言。 可以参考这个教程 Visual Studio 2022安装与使用教程。 这一步也不再赘述,网上搜索教

    2024年02月15日
    浏览(50)
  • 【Visual Studio】使用 C++ 语言,配合 Qt,开发了一个串口通信界面

    知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。 我要使用的功能比较简单,主要包含扫描串口、打开串口、发送数据、接收数据、暂停按钮、停止按钮,因此接下里将围绕这几个功能依次更新。 我的工程项目名字叫 “GUI”。

    2024年02月11日
    浏览(57)
  • 【Visual Studio】报错 C2653,使用 C++ 语言,配合 Qt 开发串口通信界面

    知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。 这个 Bug 是我做这个工程时遇到的:【Visual Studio】Qt 的实时绘图曲线功能,使用 C++ 语言,配合 Qt 开发串口通信界面。 使用 C++ 语言,配合 Qt 开发串口通信界面,在添加 Widget 做

    2024年02月11日
    浏览(40)
  • 【Visual Studio】报错 ASSERT: “i >= 0 && i < size()“,使用 C++ 语言,配合 Qt 开发串口通信界面

    知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。 这个 Bug 是我做这个工程时遇到的:【Visual Studio】Qt 的实时绘图曲线功能,使用 C++ 语言,配合 Qt 开发串口通信界面。 使用 C++ 语言,配合 Qt 开发串口通信界面,在调试动态绘图

    2024年02月11日
    浏览(41)
  • Qt/C++自定义界面大全/20套精美皮肤/26套精美UI界面/一键换肤/自定义颜色/各种导航界面

    这个系列对应自定义控件大全,一个专注于控件的编写,一个专注于UI界面的编写,程序员有两大软肋,一个是忌讳别人说自己的程序很烂很多bug,一个就是不擅长UI,基本上配色就直接rgb,对于第一点,只要放松心态,直面自己的不足,不断改进,才能问鼎武林至尊。至于第

    2024年01月20日
    浏览(27)
  • <QT开发> QT开发工具-之-QT应用程序打包

    <QT开发> QT开发工具-之-QT应用程序打包 笔者为什么会写这篇文章呢?这是因为,笔者使用windows QT开发了一个测试工具。目的是通过TCP/IP测试其它应用程序。首先这个QT程序是笔者自己开发的,所以笔者的电脑当然是可以运行这个QT程序的,但是想要这个QT程序在其它同事的

    2024年02月12日
    浏览(40)
  • 【Qt开发】初识Qt

    Qt是⼀个 跨平台的C++图形⽤⼾界⾯应⽤程序框架 。它为应⽤程序开发者提供了建⽴艺术级图形界⾯所需的所有功能。它是 完全面向对象 的,很容易扩展。Qt为开发者提供了⼀种 基于组件 的开发模式,开发者可以通过简单的拖拽和组合来实现复杂的应⽤程序,同时也可以使⽤

    2024年01月21日
    浏览(27)
  • 【Qt】Qt 开发环境安装 ( Qt 版本 5.14.2 | Qt 下载 | Qt 安装 )

    Qt 开发环境下载地址 : https://download.qt.io/archive/qt/ 该界面可以下载 Qt 各个版本的开发环境 ; Qt 版本选择 , Qt 的各个大版本都在同步更新 , 如 5.1 , 5.9 , 5.14 , 6.0 等 , 每个版本都有不同的性能和功能 , 每个版本进入后的二级目录的小版本 , 尽量选择最新的版本 ; 如进入 5.14 目录后

    2024年02月14日
    浏览(40)
  • QT基础篇(15)QT5多国语言国际化

    1.基本概念 1.1国际化支持的实现 语言国际化(Localization)是指将软件、网站或应用程序适应不同语言、地区和文化的过程。实现语言国际化支持可以通过以下几个步骤: 提取可本地化的文本:将软件或应用程序中需要翻译的文本内容提取出来,例如界面文本、按钮标签、错

    2024年01月24日
    浏览(31)
  • 【Qt 学习笔记】Qt 开发环境的搭建 | Qt 安装教程

    博客主页:Duck Bro 博客主页 系列专栏:Qt 专栏 关注博主,后期持续更新系列文章 如果有错误感谢请大家批评指出,及时修改 感谢大家点赞👍收藏⭐评论✍ 文章编号:Qt 学习笔记 / 02 1. 安装包下载(网盘链接) 链接:https://pan.baidu.com/s/1t3jbYcFYFuJIfe0hPmeDmQ?pwd=duck 提取码:du

    2024年04月26日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包