【QT 5-控件对比-小技巧-控件显示文字和更改文字-label控件-lineEdit控件-记录】

avatar
作者
猴君
阅读量:0

【QT 5-控件对比-小技巧-控件显示文字和更改文字-label控件-lineEdit控件-记录】

1、前言

本篇分为两个部分,第一部分为是label控件,作为初学者的时候,很多函数不会用,想要显示什么,直接在label上输入。后来一点点会了,知道可以用函数控制,甚至直接用代码生成。

第二部分,就讲解一下lineEdit控件,可以将Edit控件看出一个类别,一个类别内有相似控制函数,只有会一个,其他你就能举一反三了。

让我们一起通过本片博文学习一下,label控件-lineEdit控件这两种控件吧。

2、环境

环境还是需要注意一致的,否则最后的样例代码可能跑不起来。

  • 电脑系统:win10
  • qt版本:4.11.1

在这里插入图片描述
环境这要注意点:

  • 1:编译器
  • 2:qt版本
  • 3:生成文件目录

3、控件说明

在Qt中,QLabel和QLineEdit是两个常用的控件,用于显示文本和接收用户输入。下面是对这两个控件的简单介绍:

(1)QLabel

QLabel 是一个显示文本或图像的控件。它通常用于显示静态文本标签、图像或作为其他控件的标题。QLabel 的主要特点包括:

  • 文本显示: 可以显示纯文本或富文本(HTML格式)。
  • 图像显示: 可以显示图片。
  • 对齐方式: 可以设置文本或图像的对齐方式(左对齐、右对齐、居中等)。
  • 鼠标事件: 可以捕获鼠标点击事件(通过设置 setTextInteractionFlags)。

(2)QLineEdit

QLineEdit 是一个单行文本输入控件,允许用户输入和编辑一行文本。它常用于表单输入、搜索框等场景。QLineEdit 的主要特点包括:

  • 文本输入: 用户可以输入单行文本。
  • 占位符文本: 可以设置占位符文本,当输入框为空时显示。
  • 验证器: 可以设置输入验证器(例如整数验证器、正则表达式验证器)。
  • 掩码: 可以设置输入掩码,用于控制输入格式(如电话号码、日期)。
  • 密码模式: 可以设置为密码输入模式,将输入的字符显示为星号或其他掩码字符。

值得说明的是,Edit 结尾的相关输入栏都有相似的性质,所以在用法上,大家有相似地方,也就是开始说的,你会了一个,就能举一反三了。
在这里插入图片描述

4、控件代码说明

(1)第一种控件 QLabel

以下位三种控件,显示内容的三种实现方式。

1-UI文件上编写

在xxx.ui而界面内,直接输入你想要显示内容,就可以了,如下图所示。
在这里插入图片描述
如下为效果。

2-代码控制

如下是通过ui->label,这种代码控制方式调取。

#include "mainwindow.h" #include "ui_mainwindow.h"  MainWindow::MainWindow(QWidget *parent)     : QMainWindow(parent)     , ui(new Ui::MainWindow) {     ui->setupUi(this);      ui->label->setText("代码方式调用");         }  MainWindow::~MainWindow() {     delete ui; }     

如下是在截图。
在这里插入图片描述

3-完全代码控制

第三种方式,通过代码直接控制,不需要再ui里拉取,直接用纯代码编写。

QLabel *label1 = new QLabel("123!", this); label1->setAlignment(Qt::AlignCenter);  

如下为截图
在这里插入图片描述

(2)第二种控件QLineEdit

以下位三种控件,显示内容的三种实现方式。

1-UI文件上编写

如下图所示,这里主要是调取默认没有内容时,显示的内容。
在这里插入图片描述

2-代码控制

如下为代码控制的方式,直接用ui->点出对应控件的名字,然后找到占位符文本的函数。

   ui->lineEdit->setPlaceholderText("代码方式调用"); 

在这里插入图片描述

3-完全代码控制

最后我们尝试以下,直接新建一个控件,尝试以下。

     QLineEdit *lineEdit1 = new QLineEdit(this);     lineEdit1->setPlaceholderText("456~");  

在这里插入图片描述

5、不同实现方式对比说明

可以看到上述主要是三种实现方式,即:UI文件vs代码控制控件vs完全代码控制。
实际上这三种没有绝对意义上的好坏之分,可以适用不同场景。

第一种:对于不需要改变显示文本内容的,可以使用这种,一次成型,不需要变来变去。

第二种:需要知道对应的控件名字,但是可以随着软件运作中,改变提示,当有不同显示需求,或者中途需要改变时,可以使用。

第三种,同第二种一样,但是实际使用时需要注意控件重叠等。

6、实验过程&代码部分

1、新建工程

都是从新建工程开始,这块就不反复赘述了。
这里写的比较全了:【QT 整体窗口拖动大小,内部控件无法跟随改变的原因>>>>>解决:布局相关,布局设置】
在这里插入图片描述

2、拉去控件

如下图,两个控件,使用鼠标直接拖拽,然后再对应框里填写内容。
在这里插入图片描述

3、代码控制控件

如下图,直接再代码里使用ui调取。
在这里插入图片描述

4、完全代码控制

第使用代码,直接新建一个,不需要再ui里拉取。
代码如下:

#include "mainwindow.h" #include "ui_mainwindow.h"  MainWindow::MainWindow(QWidget *parent)     : QMainWindow(parent)     , ui(new Ui::MainWindow) {     ui->setupUi(this);      ui->label->setText("代码方式调用");      QLabel *label1 = new QLabel("123!", this);     label1->setAlignment(Qt::AlignCenter);      ui->lineEdit->setPlaceholderText("代码方式调用");      QLineEdit *lineEdit1 = new QLineEdit(this);     lineEdit1->setPlaceholderText("456~");  }  MainWindow::~MainWindow() {     delete ui; }   

在这里插入图片描述

5、最后效果

最后效果如下,可以发现完全代码创建的被挡住了,因为没有设置位置,实际使用注意调整。
在这里插入图片描述

6、代码链接

代码链接如下:

https://download.csdn.net/download/qq_22146161/89599223

7、细节部分

暂无

8、总结

对应不同情况,多种选择。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!