首页 > 其他分享 >【Qt】常用控件(输入类)

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

时间:2024-03-29 18:29:05浏览次数:28  
标签:控件 Widget Qt value ui QString lineEdit include 输入

目录

一、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转化为QString
        ui->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());
}

效果
请添加图片描述

标签:控件,Widget,Qt,value,ui,QString,lineEdit,include,输入
From: https://blog.csdn.net/Tianzhenchuan/article/details/137111184

相关文章

  • 150. 如何使用 SAPGUI 中的树控件绘制树状数据结构
    大家在按照本文介绍的步骤进行学习之前,请务必先完成这两篇前置知识的学习:148.使用SAPGUI的Docking控件将屏幕划分成若干子区域149.如何在SAPGUI的ABAP报表里显示图片树形结构能够自然地表达层次化数据,如公司的组织架构、产品目录或项目任务的分解。在SA......
  • 【QT+QGIS跨平台编译】040:【geos_c+Qt跨平台编译】(一套代码、一套框架,跨平台编译)
    点击查看专栏目录文章目录一、geos_c介绍二、文件下载三、文件分析四、pro文件五、编译实践一、geos_c介绍  GEOS_C(GEOSC++接口)是GEOS库的C语言版本,它提供了一套丰富的API,允许开发者在C++程序中执行复杂的几何形状处理和空间关系分析。GEOS_C是基于JTS(Jav......
  • Qt 大小端字节序转换的方法
    在Qt中,可以使用qToLittleEndian和qToBigEndian两个函数来实现大小端字节序之间的转换。1.转换为小端字节序:1quint32num=0x12345678;2quint32littleEndianNum=qToLittleEndian(num);//转换为小端字节序2.转换为大端字节序:1quint32num=0x12345678;2quint......
  • Qt QByteArray中存储的字节顺序转换
    在QByteArray中,可以使用Qt的函数来实现字节顺序的转换。具体而言,可以使用 qFromBigEndian 和 qFromLittleEndian 函数将大端和小端字节顺序的数据转换为主机字节顺序的数据。同样地,可以使用 qToBigEndian 和 qToLittleEndian 函数将主机字节顺序的数据转换为大端......
  • Qt 大小端转换
    大端模式和小端模式是计算机中经常涉及到的两种字节序,也有大端对齐、小端对齐、大尾、小尾等叫法。一、起源说起这两种模式,就不得不提一下大端(Big-endian)和小端(Little-endian)这两个英文上的起源。“endian”一词来源于乔纳森·斯威夫特的小说格列佛游记。Lilli......
  • QT 自定义插件问题 error: LNK2001: 无法解析的外部符号
    为了重复利用已有的代码,我使用自定义插件进行开发。当每个插件独立开发时没有遇到问题,但是当插件B引用了插件A时就会在编译时报错error:LNK2001:无法解析的外部符号。例如,先定义一个插件ColorPicker,用于颜色选取。关键代码如下:classQDESIGNER_WIDGET_EXPORTColorPicker:......
  • Qt职业之路--成为一名卓越的Qt开发者
    本文翻译自:QtasaCareer–BecomingAStellarQtDeveloper本系列文章中,我们将分享多位Qt从业者的职业发展故事。今天,我要采访的是MikeTrahearn,他是一名资深软件工程师,也是2022年的QtChampion,现居住在澳大利亚昆士兰州阳光明媚的黄金海岸。问:你好,Mike!跟我们介绍一......
  • 基于DBO-CNN-BiLSTM数据回归预测(多输入单输出),蜣螂优化算法优化CNN-BiLSTM-附代码
    基于DBO-CNN-BiLSTM的数据回归预测是一种综合利用了深度学习中的多种技术的方法,包括卷积神经网络(CNN)、双向长短期记忆网络(BiLSTM)和注意力机制(Attention)。蜣螂优化算法用于优化CNN-BiLSTM模型的参数。以下是基于DBO-CNN-BiLSTM的数据回归预测的原理:CNN(卷积神经网络):CNN是一......
  • 一个可以让你有更多时间摸鱼的WPF控件(一)
    前言我们平时在开发软件的过程中,有这样一类比较常见的功能,它没什么技术含量,开发起来也没有什么成就感,但是你又不得不花大量的时间来处理它,它就是对数据的增删改查。当我们每增加一个需求就需要对应若干个页面来处理数据的添加、修改、删除、查询,每个页面因为数据字段的差异需要单......
  • 抢先看!界面控件DevExpress WPF 2024产品路线图预览(一)
    DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。本文将介绍2024年DevExpressWPF第一个主要更新(v2......