QT 文本框的绘制与复选框组键

news2024/11/20 10:30:49

.cpp文件 

#include "widget.h"
#include "ui_widget.h"

#include<QDebug>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    //更改窗口标题
    setWindowTitle("我爱xyy");

    //更改图标
    setWindowIcon(QIcon(":/icon/icon.png"));

    //设置提示字
    ui->lineEditName->setPlaceholderText("请输入名字");
    ui->lineEditPasswd->setPlaceholderText("请输入密码");
    //密码隐藏
    ui->lineEditPasswd->setEchoMode(QLineEdit::Password);

    /*单行文本框 信号演示*/
    connect(ui->lineEditPasswd,SIGNAL(editingFinished()),this,SLOT(lineEditPasswdEditingFinishSlotFun()));
    connect(ui->lineEditName,SIGNAL(textChanged(QString)),this,SLOT(lineEditUsrnameTextChangedSlotFun(QString)));
    connect(ui->pushButton, SIGNAL( clicked()) ,this, SLOT(login() ) );
    //按键
    ui->radioButton2->setText("登录");        //setText(QString str) 设置显示文本
    ui->radioButton2->setChecked(true);        //setChecked(bool) 设置选中状态
  //按键信号
    connect(ui->radioButton2,SIGNAL(clicked()),this,SLOT(radioButtonChangeFun()));
    connect(ui->radioButton1,SIGNAL(clicked()),this,SLOT(radioButtonChangeFun()));


}
void Widget::login()
{
    //从界面输入
    QString userName = ui->lineEditName->text();
    QString pwd = ui->lineEditPasswd->text();
    if(userName == "woaixyy" && pwd == "123456")
    {
        qDebug()<<"登录成功";
        qDebug()<<"账号 "<<ui->lineEditName->text();
        qDebug()<<"密码 "<<ui->lineEditPasswd->text();
        this->close();
    }
    else
    {
        qDebug()<<"登录失败";
        qDebug()<<"账号 "<<ui->lineEditName->text();
        qDebug()<<"密码 "<<ui->lineEditPasswd->text();

        ui->lineEditPasswd->clear();

    }
}

void Widget::lineEditPasswdEditingFinishSlotFun()//表示文本确认
{
    qDebug()<<__func__;
    qDebug()<<"账号 "<<ui->lineEditName->text();
    qDebug()<<"密码 "<<ui->lineEditPasswd->text();
}

void Widget::lineEditUsrnameTextChangedSlotFun(QString txt) // 密码的内容
{
    /*获取用户刚刚输入的 字符 QChar
           char:   8bit  asccii   256符号
           QChar:16bit  万国码     65536      ,在QT中,所有的字符都是QChar
                               ‘A’ =16bit;
       */

    //获取最后一个字符
       QChar qch = txt[  txt.length()  - 1   ];
       if( (qch > 'z') || ( qch < 'A' )) {
           qDebug()<<"you input is wrong ,invaoid char "<<qch;
           ui->lineEditName->setText("");

       }
       qDebug()<<__func__<<" last char="<<qch;
}
void Widget::radioButtonChangeFun()
{
    qDebug()<<"你选择:";
    if(ui->radioButton2->isChecked())
    {
        qDebug()<<"登录";
    }
    if(ui->radioButton1->isChecked())
    {
        qDebug()<<"注册";
    }
}
Widget::~Widget()
{
    delete ui;
}

.h文件

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
public slots:
    void login();
    void lineEditPasswdEditingFinishSlotFun();
    void lineEditUsrnameTextChangedSlotFun(QString);
    void radioButtonChangeFun();
private:
    Ui::Widget *ui;
};
#endif // WIDGET_H

.ui

现象

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1375331.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL中order by是怎么工作的?

在如上图中所示的explain的执行结果中&#xff0c;Extra字段中的“Using filesort”表示的就是需要排序&#xff0c;MySQL会给每个线程分配一块内存用于排序&#xff0c;称为sort_buffer。 索引city如上图所示 上述语句的执行流程如下&#xff1a; 1、初始化sort_buffer&…

【AIGC-文本/图片生成视频系列-8】Align your Latents: 基于潜在扩散模型的高分辨率视频合成

目录 一. 项目概述与贡献 二. 方法详解 三. 应用总览 四. 个性化视频生成 五. 实时卷积合成 六. 更多结果 七. 论文 八. 个人思考 AI生成高分辨率视频一直是一个挑战。 今天讲解一篇潜在扩散模型&#xff08;LDM&#xff09;用于高分辨率、时间一致且多样化的视频生成…

JVM加载class文件的原理机制

1、JVM 简介 JVM 是我们Javaer 的最基本功底了&#xff0c;刚开始学Java 的时候&#xff0c;一般都是从“Hello World ”开始的&#xff0c;然后会写个复杂点class &#xff0c;然后再找一些开源框架&#xff0c;比如Spring &#xff0c;Hibernate 等等&#xff0c;再然后就开发…

leaflet学习笔记-带有方位角信息的圆的绘制(七)

前言 项目中有一个需求&#xff0c;就是需要绘制一个圆&#xff0c;并且绘制的时候还要设置方位角&#xff0c;最后返回圆的坐标集合和方位角。本功能使用Leaflet-GeomanTurf.jsleaflet实现。 方位角简介 在陆地导航中&#xff0c;方位角通常表示为 alpha、α&#xff0c;并定…

java中解码和编码出现乱码原因

一、UTF-8和GBK编码方式 如果采用的是UTF-8的编码方式&#xff0c;那么1个英文字母 占 1个字节&#xff0c;1个中文占3个字节如果采用GBK的编码方式&#xff0c;那么1个英文字母 占 1个字节&#xff0c;1个中文占2个字节 二、idea和eclipse的默认编码方式 其实idea和eclipse的…

力扣题解24. 两两交换链表中的节点(图解递归和双指针)

24. 两两交换链表中的节点 题目描述&#xff1a; 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&#xff09;。 示例 1&#xff1a; 输入&…

使用Pygame显示文字的示例代码

import pygame import syspygame.init()# 设置窗口尺寸 win_size (800, 600) screen pygame.display.set_mode(win_size) pygame.display.set_caption("文字显示示例")# 设置字体和文字内容 font pygame.font.SysFont(None, 48) # 使用系统默认字体&#xff0c;字…

第十一章 Cookie

第十一章 Cookie 1.什么是Cookie2.Cookie的创建3.Cookie的获取4.Cookie值的修改5.谷歌浏览器和火狐浏览器如何查看Cookie6.Cookie的存活设置7.Cookie的path属性8.Cookie练习之免用户名登入 1.什么是Cookie 2.Cookie的创建 下面我看看如何创建Cookie&#xff0c;如何让客户端保…

极客时间-读多写少型缓存设计

背景 内容是极客时间-徐长龙老师的高并发系统实战课的个人学习笔记&#xff0c;欢迎大家学习&#xff01;https://time.geekbang.org/column/article/596644 总览内容如下&#xff1a; 缓存性价比 一般来说&#xff0c;只有热点数据放到缓存才更有价值 数据量查询频率命中…

67.网游逆向分析与插件开发-角色数据的获取-分析角色数据基址

内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;角色类的数据分析与C还原-CSDN博客 基址这个东西说好找也好找&#xff0c;说不好找是真找不着&#xff0c;但就根据一个原则&#xff0c;就是确认这个东西有基址还是没基址&#xff0c;为什么会有没基…

STM32--基于STM32F103的MAX30102心率血氧测量

本文介绍基于STM32F103ZET6MAX30102心率血氧测量0.96寸OLED&#xff08;7针&#xff09;显示&#xff08;完整程序代码见文末链接&#xff09; 一、简介 MAX30102是一个集成的脉搏血氧仪和心率监测仪生物传感器的模块。它集成了一个红光LED和一个红外光LED、光电检测器、光器…

移动通信原理与关键技术学习之信道编解码(5)

先回顾调制的过程&#xff1a;调制就是对信号源的信息进行处理加到载波上&#xff0c;使其变为适合于信道传输的形式的过程&#xff0c;就是使载波随信号而改变的技术。 1.什么是IQ调制&#xff1f; 答&#xff1a;将数据分为两路&#xff0c;分别进行载波调制&#xff0c;两…

Camunda Sub Process

一&#xff1a;内嵌子流程 repositoryService.createDeployment().name("内嵌子流程").addClasspathResource("bpmn/embed_sub_process.bpmn").deploy(); identityService.setAuthenticatedUserId("huihui"); ProcessInstance processInstance …

教你三招该如何制作家具样本册

​随着生活品质的提高&#xff0c;人们对家居装饰的要求也越来越高。家具作为家居装饰的重要组成部分&#xff0c;其选择和搭配也显得尤为重要。为了更好地展示家具的特点和风格&#xff0c;制作家具样本册成为了许多人的选择。那么&#xff0c;如何制作一份精美的家具样本册呢…

Day31 贪心算法 part01 理论基础 455.分发饼干 376.摆动序列 53.最大子序和

贪心算法 part01 理论基础 455.分发饼干 376.摆动序列 53.最大子序和 理论基础&#xff08;转载自代码随想录&#xff09; 什么是贪心 贪心的本质是选择每一阶段的局部最优&#xff0c;从而达到全局最优。 这么说有点抽象&#xff0c;来举一个例子&#xff1a; 例如&#…

CMake入门教程【实战篇】使用Boost库

文章目录 安装 Boost 库CMake中使用Boost库时安装 Boost 库 下载地址 https://www.boost.org/users/download/ 下载版本 选择二进制版本或者源码 二进制版本直接安装即可 源码版本编译->安装 解压到本地目录,如e:/dev/。运行E:\dev\boost_1_83_0\bootstrap.bat,会在同目录下…

激活/注册navicat15

一、获取软件 链接&#xff1a;https://pan.baidu.com/s/1F_tiLuLvVFMEz8pDfIvDjw?pwdjjfj 提取码&#xff1a;jjfj 二、安装 安装的过程我就不放了&#xff0c;重点如下 安装完不要打开软件&#xff01; 安装完不要打开软件&#xff01; 安装完不要打开软件&#xff01;…

Spark SQL进阶

DataFrame详解 清洗相关API 去重API 删除空缺值的API 替换缺失值的API from pyspark import SparkConf, SparkContext import os from pyspark.sql import SparkSession# 绑定指定的Python解释器 os.environ[SPARK_HOME] /export/server/spark os.environ[PYSPARK_PYTHON]…

前端面试题集合六(高频)

1、vue实现双向数据绑定原理是什么&#xff1f; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>…