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

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

  • 1、前言
  • 2、环境
  • 3、控件说明
    • (1)QLabel
    • (2)QLineEdit
  • 4、控件代码说明
      • (1)第一种控件 QLabel
        • 1-UI文件上编写
        • 2-代码控制
        • 3-完全代码控制
      • (2)第二种控件QLineEdit
        • 1-UI文件上编写
        • 2-代码控制
        • 3-完全代码控制
  • 5、不同实现方式对比说明
  • 6、实验过程&代码部分
    • 1、新建工程
    • 2、拉去控件
    • 3、代码控制控件
    • 4、完全代码控制
    • 5、最后效果
    • 6、代码链接
  • 7、细节部分
  • 8、总结

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、总结

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

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

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

相关文章

java实现加水印功能

1-Word加水印 实现原理&#xff1a; ● 通过页眉页脚生成文字水印或图片水印&#xff0c;然后设置页眉页脚的高度以及旋转角度来设置水印。 源代码&#xff1a; 1、引入pom依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml…

在linux编译JsonCpp 1.9.5

编译方法 mkdir jsoncpp-Sandbox ; cd jsoncpp-Sandbox git clone https://github.com/open-source-parsers/jsoncpp.git mkdir jsoncpp-build mkdir jsoncpp-install cd ./jsoncpp-build/ cmake ../jsoncpp/ -DCMAKE_INSTALL_PREFIX/home/vis/work/SourceCode/jsoncpp-Sandbo…

智能体一键生成个性化贺卡

文章目录 一、前言二、创建智能体编辑名称头像简介人物设定开场白引导示例高级配置调试发布 三、总结 一、前言 欢迎来到节日的温馨角落&#xff01;我是您的节日贺卡助手&#xff0c;专为您打造独一无二的节日祝福。无论是温馨的问候&#xff0c;还是创意的惊喜&#xff0c;我…

【Threejs进阶教程-着色器篇】5. 2D SDF(二)圆形波纹效果

2D SDF 圆形波纹效果 关于本Shader教程前四篇地址&#xff0c;请按顺序学习本博客使用模板代码中的Shader模板绘制第一圈波纹绘制多圈波纹fract函数 让光波动起来使用uniform控制最终效果追加uniform&#xff0c;以及lil.gui控制器修改片元着色器最终效果 完整源码 关于本Shad…

leetcode日记(63)颜色分类

感觉就是排序问题&#xff1f;我使用的是时间复杂度比较高的简单粗暴排序法&#xff0c;时间复杂度O&#xff08;n^2&#xff09;。 class Solution { public:void sortColors(vector<int>& nums) {int nnums.size();for(int i0;i<n;i){for(int ji1;j<n;j){if…

鸿蒙应用框架开发【选择并查看文档与媒体文件】 本地数据与文件

选择并查看文档与媒体文件 介绍 应用使用ohos.file.picker、ohos.file.fs等接口&#xff0c;实现了picker拉起文档编辑保存、拉起系统相册图片查看、拉起视频并播放的功能。 效果预览 使用说明&#xff1a; 在首页&#xff0c;应用显示查看最近打开文件功能的跳转按钮&…

APP自动化测试 ------ 滑动和拖拽事件操作!

前言 Appium自动化测试中的常见模拟操作涵盖了多种用户交互行为&#xff0c;这些操作对于自动化测试框架来说至关重要&#xff0c;因为它们能够模拟真实用户的使用场景&#xff0c;从而验证应用程序的功能和稳定性。 今天讲解滑动和拖拽事件操作&#xff1a; 1、swipe滑动事…

java-数据结构与算法-02-数据结构-07-优先队列

1. 概念 队列是一种先进先出的结构&#xff0c;但是有些时候&#xff0c;要操作的数据带有优先级&#xff0c;一般出队时&#xff0c;优先级较高的元素先出队&#xff0c;这种数据结构就叫做优先级队列。 比如&#xff1a;你在打音游的时候&#xff0c;你的朋友给你打了个电话…

springboot短视频推荐系统-计算机毕业设计源码21503

摘 要 本论文基于协同过滤算法&#xff0c;旨在设计并实现一种基于SpringBoot框架的短视频推荐系统。该系统主要分为平台用户和管理员两类角色&#xff0c;用户可以注册、登录、浏览短视频内容&#xff0c;并根据个人兴趣收藏喜爱的视频。管理员则可以管理系统数据、用户和内容…

nginx反向代理和负载均衡+安装jdk-22.0.2

ps -aux|grep nginx //查看进程 nginx 代理 nginx代理是负载均衡的基础 主机&#xff1a;192.168.118.60 这台主机只发布了web服务&#xff0c;没有做代理的任何操作 修改一下index.html中的内容 echo "this is java web server" > /usr/local/nginx/htm…

JVM性能调优全指南:高流量电商系统的最佳实践

1.G1(Garbage-First) 官网: G1 Garbage Collection G1收集器是Java 7中引入的垃圾收集器,用于替代CMS(Concurrent Mark-Sweep)收集器。它主要针对大内存、多核CPU环境下的应用场景,具有以下特点: 分代收集:G1仍然保留了分代的概念,但新生代和老年代不再是物理隔离的,…

线程的同步互斥

互斥 互斥保证了在一个时间内只有一个线程访问一个资源。 先看一段代码&#xff1a;三个线程同时对全局变量val进行--&#xff0c;同时val每自减一次其线程局部存储的全局变量 #include <iostream> #include <thread> #include <vector> #include <uni…

Java之Java基础十六(反射)

一、什么是反射 一般情况下&#xff0c;我们在使用某个类之前已经确定它到底是个什么类了&#xff0c;拿到手就直接可以使用 new 关键字来调用构造方法进行初始化&#xff0c;之后使用这个类的对象来进行操作。 Writer writer new Writer(); writer.setName("aaa"…

WPF的MVVM架构:如何通过数据绑定简化UI逻辑

WPF的MVVM架构&#xff1a;如何通过数据绑定简化UI逻辑 目录 MVVM模式概述数据绑定在MVVM中的作用实现MVVM模式的步骤MVVM模式中的常见问题与解决方案实践示例总结 MVVM模式概述 MVVM&#xff08;Model-View-ViewModel&#xff09;是一种设计模式&#xff0c;用于WPF应用程序…

超声波传感器 - 从零开始认识各种传感器【第十九期】

超声波传感器|从零开始认识各种传感器 1、什么是超声波传感器 超声波传感器是一种利用超声波来进行距离测量和目标检测的传感器。它通过发送&#xff0c;超声波脉冲&#xff0c;并测量超声波从传感器发射到目标物体并返回的时间来计算目标物体与传感器之间的距离。 超声波传感…

echarts无数据的展示内容,用graphic属性配置

echarts无数据的展示内容&#xff0c;用graphic属性配置 当echarts无数据的时候&#xff0c;图表展示的是个空白部分&#xff0c;感觉会有点丑&#xff0c;影响页面美观&#xff0c;这时候翻阅了echarts的官网&#xff0c;让我找到个配置项&#xff0c;试试发现还可以&#xf…

Notion支持直接绑定自己的域名,有何工具可替代为公开网站自定义域名?

Notion最近大招频出&#xff0c;推出新功能——自定义域名。只需简单几步&#xff0c;xxx.notion.site秒变你的专属域名&#xff08;月费仅需10美金&#xff09;。推特上的独立内容创作者/初创公司&#xff0c;用它来打造品牌、分享资料模板&#xff0c;甚至实现盈利。 Notion的…

你还在为PDF转Word烦恼?试试这四款免费工具吧!

悄咪咪问一句&#xff0c;大家在平时上班时最头疼的事情有哪些&#xff1f;我想会有很多朋友也有pdf如何在线转换word文档的免费方式&#xff0c;毕竟这些办公文档是非常常见的问题了&#xff0c;所以今天就专门准备这么一篇文章来分享我个人喜欢的四款好用工具&#xff1a; 第…

做知识付费项目还能做吗?知识付费副业项目如何做?能挣多少钱?

hello,我是阿磊&#xff0c;一个20年的码农&#xff0c;6年前代码写不动了&#xff0c;转型专职做副业项目研究&#xff0c;为劳苦大众深度挖掘互联网副业项目&#xff0c;共同富裕。 现在做知识付费项目还能做吗&#xff1f; 互联网虚拟资源项目我一直在做&#xff0c;做了有…

【单片机毕业设计选题24088】-基于STM32的智能家居控制系统

系统功能: 系统操作说明&#xff1a; 上电后OLED显示 “欢迎使用智能家居系统请稍后”&#xff0c;两秒后显示Connecting...表示 正在连接阿里云&#xff0c;正常连接阿里云后显示第一页面&#xff0c;如长时间显示Connecting...请 检查WiFi网络是否正确。 第一页面第一行…