【Qt】常用控件(输入类)

目录

  • 一、Line Edit
  • 二、Text Edit
  • 三、ComBo
  • 四、DateTimeEdit
  • 五、Slider

一、Line Edit

QLineEdit 用来表示单行输入框,可以输入一段文本,但是不能换行。

属性说明
test输入框中的文本
inputMask输入内容格式约束
maxLength最大长度
frame是否添加边框
echoMode显示方式,normal,Password:隐藏,使用*代替,NoEcho:不显示任何字符
alignment文本对齐方式
dragEnabled是否允许拖拽
readOnly是否不可修改
placeHolderTest输入框为空时,显示的提示信息
clearButtonEnabled清除按钮

实例

获取lineEdit中信息打印出来

在ui中拖入几个lineEdit以及label和pushbutton

在这里插入图片描述

给提交设置槽函数
在这里插入图片描述

#include "widget.h"
#include "ui_widget.h"
#include<QLineEdit>
#include<QDebug>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//编辑用户名//默认显示内容ui->lineEdit_name->setPlaceholderText("请输入用户名");//编辑密码//默认显示内容ui->lineEdit_password->setPlaceholderText("请输入密码");//内容显示为密码格式ui->lineEdit_password->setEchoMode(QLineEdit::Password);//添加清除按钮ui->lineEdit_password->setClearButtonEnabled(true);//编辑手机号ui->lineEdit_phone->setPlaceholderText("请输入手机号");}Widget::~Widget()
{delete ui;
}void Widget::on_pushButton_clicked()
{QString gender = ui->radioButton_male->isChecked()?"男":"女";qDebug()<<"用户名:"<<ui->lineEdit_name->text()<<"密码:"<<ui->lineEdit_password->text()<<"性别"<<gender<<"电话号:"<<ui->lineEdit_phone->text();}//复选框槽函数,用来显示LineEdit中密码是否可见
void Widget::on_checkBox_toggled(bool checked)
{if(checked){ui->lineEdit_password->setEchoMode(QLineEdit::Normal);}else{ui->lineEdit_password->setEchoMode(QLineEdit::Password);}
}

实现效果
请添加图片描述

二、Text Edit

QTextEdit 表示多行输入框.也是一个富文本& markdown编辑器.
并且能在内容超出编辑框范围时自动提供滚动条.

属性说明
markdown输入框内持有的内容.支持 markdown 格式.能够自动的对markdown 文本进行渲染成 html
html输入框内持有的内容.可以支持大部分 html标签.包括 img 和 table 等
placeHolderText输入框为空时提示的内容,
readOnly是否只读
undoRedoEnable是否开启undo、redo功能 ctrl+z触发undo,ctrl+y触发redo
autoFormating开启自动格式化
tabstopWidth按下缩进占多少空间
overwirteMode是否开启覆盖模式
信号说明
textChanged()文本内容被修改
selectionChanged()选中区域被修改
cursorPositionChanged()光标位置被修改
undoAvaliable(bool)undo操作时触发
redoAvaliable(bool)redo操作时触发
copyAvaliable(bool)文本被选中/取消时触发

实例:

先在ui中拖入需要的控件,一个TestEdit
请添加图片描述

//修改TestEdit中内容触发该信号  testChanged()
void Widget::on_textEdit_textChanged()
{qDebug()<<"textchanged: "<<ui->textEdit->toPlainText();
}
//选择TestEdit中内容触发信号  selectionChanged()
void Widget::on_textEdit_selectionChanged()
{QTextCursor cursor = ui->textEdit->textCursor();qDebug()<<"selectionChanged: "<<cursor.selectedText();
}
//光标位置移动时触发
void Widget::on_textEdit_cursorPositionChanged()
{QTextCursor cursor = ui->textEdit->textCursor();qDebug()<<"cursorPositionChanged: "<<cursor.position();
}

三、ComBo

QComboBox 表示下拉框

属性说明
currentText当前选中的文本
currentIndex当前选中的条目下标
editable是否允许被修改
iconSize下拉框大小
maxCount最多允许多少个条目
addItem(const QString&)添加一个条目
currentText()获取当前条目的文本内容

信号

信号说明
activited(int)
activited(const QString&)
当用户选择一个选项时发出,点开下拉框,鼠标滑过某个选项,但是还没有做出选择
currentIndexChange(int)
currentIndexChange(const QString&)
当前选择改变时发生
editTextChange(const QString&)当编辑框中内容发生改变时发出

实例

显示下拉框中内容

方法① 使用代码设置条目内容

在这里插入图片描述

方法② 右键控件点击编辑项目

在这里插入图片描述

从文件中读取下拉列表条目

在这里插入图片描述

    //读取文件中内容,将文件中内容读取作为combobox的选项std::ifstream file("C:/Users/HP/Desktop/config.txt");if(!file.is_open()){qDebug()<<"读取失败";return;}//按行读取文本std::string line;while(std::getline(file,line)){//取到的内容设置到下拉框中//QString中静态方法,将string转化为QStringui->comboBox->addItem(QString::fromStdString(line));}file.close();

四、DateTimeEdit

属性说明
dateTime时间日期的值
date单纯日期的值
time单纯时间的值
displayFormat时间的日期格式
minimumDateTime最小日期时间
maximumDateTime最大日期时间
timeSpecQt::LocalTime 显示本地时间
Qt::UTC 显示协调世界时
Qt::OffsetFromUTC 显示相对UTC偏移量

信号

属性说明
dateChanged(QDate)日期改变时触发
timeChanged(QTime)时间改变时触发
dateTimeChanged(QDateTime)时间日期任意一个改变时触发

实例
计算两个date之间的天数差
在这里插入图片描述

在这里插入图片描述

五、Slider

QSlider表示一个滑动条

属性说明
value持有的数值
minimum最小值
maximum最大值
singleStep按下方向键时改变的步长
sliderPosition滑动条显示的初始位置
tracking外观是否跟随数值变化
orientation滑动条是水平还是垂直
invertedAppearance是否翻转滑动跳长方向
tickPosition刻度的位置
tickInterval刻度的密集程度

信号

属性说明
valueChanged(int)数值变化时发出
rangeChanged(int,int)范围变化时发出

实例

通过滑动条改变窗口大小

在这里插入图片描述

为滑动条增加快捷键控制窗口大小

#include "widget.h"
#include "ui_widget.h"
#include<QDebug>
#include<QRect>
#include<QShortcut>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);ui->horizontalSlider->setMinimum(0);ui->horizontalSlider->setMaximum(1800);ui->horizontalSlider->setSliderPosition(800);QShortcut* shortcut1 = new QShortcut(this);shortcut1->setKey(QKeySequence("-"));connect(shortcut1,&QShortcut::activated,this,&Widget::Sub);QShortcut* shortcut2 = new QShortcut(this);shortcut2->setKey(QKeySequence("="));connect(shortcut2,&QShortcut::activated,this,&Widget::Add);}Widget::~Widget()
{delete ui;}void Widget::Add()
{int value = ui->horizontalSlider->value();ui->horizontalSlider->setValue(value+20);
}void Widget::Sub()
{int value = ui->horizontalSlider->value();ui->horizontalSlider->setValue(value-20);
}void Widget::on_horizontalSlider_valueChanged(int value)
{QRect rect = this->geometry();this->setGeometry(rect.x(),rect.y(),value,rect.height());
}

效果
请添加图片描述

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

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

相关文章

harbor api v2.0

harbor api v2.0 v2.0 v2.0 “harbor api v2.0”与v1区别较大&#xff0c;此处harbor也做了https。另外&#xff0c;通过接口拿到的数据也是只能默认1页10个&#xff0c;所以脚本根据实际情况一页页的循环抓取数据 脚本主要用于统计repo(仓库)、image&#xff0c;以及所有镜像…

【新手适用】手把手教你从零开始实现一个基于Pytorch的卷积神经网络CNN二: 如何训练模型,内附详细损失、准确率、均值计算

手把手教你从零开始实现一个基于Pytorch的卷积神经网络CNN&#xff08;新手适用&#xff09;一&#xff1a; model.py&#xff1a;创建模块-CSDN博客 从零开始实现一个基于Pytorch的卷积神经网络 - 知乎 目录 1 设备device定义 2 训练模型定义 3 开始训练 3.1 step、batch…

4.机器学习-十大算法之一线性回归算法(LinearRegression)案例讲解

机器学习-十大算法之一线性回归算法案例讲解 一摘要二个人简介三什么是线性回归四LinearRegression使用方法五糖尿病数据线性回归预测1.数据说明2.导包3.导入数据4.脱敏处理5.抽取训练数据和预测数据6.创建模型7.预测8.线性回归评估指标9.研究每个特征和标记结果之间的关系.来分…

职场成功的关键:提升软实力,成就非凡事业

在竞争激烈的职场中&#xff0c;专业技能固然重要&#xff0c;但软实力同样不可或缺。要想在职场中脱颖而出&#xff0c;实现事业上的成功&#xff0c;我们需要在提升软实力上下功夫。本文将探讨职场软实力的内涵及其在职场成功中的作用&#xff0c;并提供一些建议&#xff0c;…

解决Quartus与modelsim联合仿真问题:# Error loading design解决,是tb文件中没加:`timescale 1ns/1ns

解决Quartus与modelsim联合仿真问题&#xff1a;# Error loading design解决&#xff0c;是tb文件中没加&#xff1a;timescale 1&#xff0c;一直走下来&#xff0c;在modelsim中出现了下面问题2&#xff0c;rtl文件、tb文件2.1&#xff0c;rtl代码2.2&#xff0c;tb测试2.3&a…

java Web实现用户登录功能

文章目录 一、纯JSP方式实现用户登录功能&#xff08;一&#xff09;实现思路1、创建Web项目2、创建登录页面3、创建登录处理页面4、创建登录成功页面5、创建登录失败页面6、编辑项目首页 &#xff08;三&#xff09;测试结果 二、JSPServlet方式实现用户登录功能&#xff08;一…

校园通勤车可视化系统的设计与实现

1.需求分析&#xff1a; 校园通勤车可视化系统的设计与实现&#xff0c;不用管什么可视化&#xff0c;就是一个小程序就是可以知道校园车的路线&#xff0c;然后往简单了弄就可以。 校园通勤车可视化系统的设计与实现&#xff0c;不用管什么可视化&#xff0c;就是一个小程序…

【C/C++】C++学籍信息管理系统(源码+报告)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

【threejs】较大物体或shape的贴图较小问题处理方法

问题 有的场景内相对体型差距过大的物体&#xff08;如山地 海洋等&#xff09;由于尺寸问题&#xff0c;加载贴图过于小&#xff0c;同时shader也无法完全展示&#xff0c;如图 我们可以获取物体的uv&#xff0c;进行缩放使得贴图可以完全展开 如果uv是乱的 可以用xyz坐标最…

【Redis】MISCONF Redis is configured to save RDB snapshots报错解决方案

【Redis】MISCONF Redis is configured to save RDB snapshots报错解决方案 大家好 我是寸铁&#x1f44a; 总结了一篇【Redis】MISCONF Redis is configured to save RDB snapshots报错解决方案✨ 喜欢的小伙伴可以点点关注 &#x1f49d; 前言 今天在登录redis时&#xff0c…

python_绘图_多条折线图绘制_显示与隐藏

1. 需求 给定一个二维数组 100行, 5列, 每一列绘制一条折线, 横轴为行索引, 纵轴为对应位置的值, 绘制在一个子图里面, 使用python plot, 使用随机颜色进行区别添加显示和隐藏按钮, 可以对每条折线进行显示和隐藏 2. 代码 import numpy as np import matplotlib.pyplot as p…

为什么说FMEA是最主要的可靠性设计工具?——FMEA软件

免费试用FMEA软件-免费版-SunFMEA FMEA&#xff0c;即故障模式与影响分析&#xff08;Failure Modes and Effects Analysis&#xff09;&#xff0c;是一种预防性的质量工具&#xff0c;广泛应用于各种工程领域&#xff0c;特别是在产品设计和制造过程中。它通过对产品或过程中…

4月2日 qt密码生成小程序(可选择生成密码的格式),基于Python框架下的pyqt6

4月2日 密码生成小程序 代码展示&#xff1a; import stringfrom PyQt6.QtWidgets import (QApplication, QDialog,QMessageBox ) from untitled import Ui_PasswordGender import sys import string # py模块含有字符 import randomclass MyPasswordGenerate(Ui_Password…

快速入门Linux,Linux岗位有哪些?(一)

文章目录 Linux与Linux运维操作系统&#xff1f;操作系统图解 认识LinuxLinux受欢迎的原因什么是Linux运维Linux运维岗位Linux运维岗位职责Linux运维架构师岗位职责Linux运维职业发展路线计算机硬件分类运维人员的三大核心职责 运维人员工作&#xff08;服务器&#xff09;什么…

python爬虫----了解爬虫(十一天)

&#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; &#x1f388;&#x1f388;所属专栏&#xff1a;python爬虫学习&#x1f388;&#x1f388; ✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天…

6000000IOPS!FASS×kunpeng920全新突破

实测数据详见下文 网络环境 前端和后端网均采用100GE网络&#xff0c;管理网采用1Gbps以太网。 前端网和后端网通过不同网段隔离&#xff0c;与管理网物理隔离。 软硬件配置 存储端配置&#xff1a; 客户端配置&#xff1a; 软件配置&#xff1a; 存储集群配置&#xff1a; …

【MapBox】实现实时飞行轨迹功能

之前写了一篇MapBox添加带箭头的轨迹线&#xff0c;现在在这个基础之上实现获取到无人机的推送点位数据实时飞行的功能 首先创建实例&#xff0c;将无人机的图标加载在地图上 const MAP_UAV_FLIGHT_ING (values, layerKey 无人机飞行) > {ClearUAVMap();const map GET_…

Linux面试题汇总!附答案详解!学习提升必备!(30w+收藏)

Linux 概述 什么是Linux Unix和Linux有什么区别&#xff1f; 什么是 Linux 内核&#xff1f; Linux的基本组件是什么&#xff1f; Linux 的体系结构 BASH和DOS之间的基本区别是什么&#xff1f; Linux 开机启动过程&#xff1f; Linux系统缺省的运行级别&#xff1f; L…

高效学习方法:冥想背诵,看一句念一句,再每个词分析位置及语法等合理性,忘记哪个词再看猜下为什么会忘,跟自己的表达哪里不一样。

原则&#xff1a;易学则易行&#xff0c;则效果最好。《易经》 你提到的这种学习方法结合了多种记忆和理解技巧&#xff0c;可以帮助提高学习效率。下面是对这种方法的一个详细解释和一些建议&#xff1a; 冥想背诵&#xff1a;通过冥想来集中注意力&#xff0c;可以帮助你在没…

批量邮箱API发送邮件时如何提高发送效率?

批量邮箱API发送邮件的方法&#xff1f;如何用API批量发送邮件&#xff1f; 如何在使用批量邮箱API发送邮件时提高发送效率&#xff0c;却是众多企业和开发者所关注的焦点。AokSend将从多个方面探讨如何优化批量邮箱API发送邮件的效率&#xff0c;确保邮件能够迅速、准确地送达…