<QT基础(3)>QLineEdit使用笔记

LineEdit

这次要用的是两个功能:初始化展示参数值,修改参数值。

初始化

将l_num的默认值显示

    ui.lineEdit->setText(QString::number(l_num));

信号

  • textChanged() 文本发生改变
  • textEdited() 文本编辑信号
  • cursorPositionChanged()光标发生改变
  • returnPressed() 回车键或return按键按下信号
  • editingFinished() 回车键或return按键按下信号或者焦点丢失信号
  • selectionChanged() 只要选择改变这个信号就会被发射

目前觉得好用的是editingFinished和returnPressed, 暂时使用editingFinished。

    connect(ui.lineEdit, SIGNAL(editingFinished()), this, SLOT(lineEditset()));
//textChanged   cursorPositionChanged
    //editingFinished  selectionChanged returnPressed() 

槽函数

把键入lineedit的值赋给后台参数。

void DcmImgPro::lineEditset()
{
    l_num = ui.lineEdit->text().toInt();
}

当然这里没有针对键入值做异常判定,应该有。

void DcmImgPro::lineEditset() {
    bool ok;
    int new_num = ui.lineEdit->text().toInt(&ok);
    
    if (!ok) {
        QMessageBox::warning(this, "Error", "Invalid input! Please enter a valid integer.");
    } else {
        l_num = new_num;
    }
}

总体代码

实现了向ScrollArea内部填充指定数量的QLabel,作为Dicom图像的预览窗口。

#pragma once

#include <QtWidgets/QMainWindow>
#include <QtWidgets>
#include "ui_dcmimgpro.h"

class DcmImgPro : public QMainWindow
{
    Q_OBJECT

public:
    DcmImgPro(QWidget *parent = nullptr);
    ~DcmImgPro();

private:
    Ui::DcmImgProClass ui;
private slots:
    void pushbtn();
    void lineEditset();
private:
    int l_num = 15;
};

class ScrollableWidget:public QWidget
{
public:
    ScrollableWidget(int numWidgets)
    {
        QVBoxLayout* layout = new QVBoxLayout(this);
        for (int i = 0; i < numWidgets; i++)
        {
            QWidget* widget = new QWidget;
            QString msg = "Label_" + QString::number(i);
            QLabel* label = new QLabel(msg);
            QVBoxLayout* widgetlayout = new QVBoxLayout(widget);
            widgetlayout->addWidget(label);
            layout->addWidget(widget);
        }
    };

};
#include "dcmimgpro.h"

DcmImgPro::DcmImgPro(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);
    ui.scrollArea->setWidgetResizable(true);
    ScrollableWidget* scrollableWidget = new  ScrollableWidget(l_num);
    ui.scrollArea->setWidget(scrollableWidget);
    ui.lineEdit->setText(QString::number(l_num));
    connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(pushbtn()));
    connect(ui.lineEdit, SIGNAL(editingFinished()), this, SLOT(lineEditset()));
    //textChanged   cursorPositionChanged
    //editingFinished  selectionChanged returnPressed() 
}

void DcmImgPro::pushbtn()
{
    ui.scrollArea->setWidget(nullptr);
    ScrollableWidget* scrollableWidget = new  ScrollableWidget(l_num);
    ui.scrollArea->setWidget(scrollableWidget);
}

void DcmImgPro::lineEditset()
{
    l_num = ui.lineEdit->text().toInt();
}
DcmImgPro::~DcmImgPro()
{
 
}

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【字节二面】SpringBoot可以同时处理多少请求

目录 一、示例代码二、那么springboot可以处理多少请求&#xff1f;三、maxConnections、maxThreads、acceptCount的关系 一、示例代码 RestController Slf4j public class RequestController {GetMapping("/test")public String test(HttpServletRequest request) …

jsonpath和json数据(序列化eval()、反序列化loads())及断言处理(断言封装)

jsonpath&#xff1a;对json串进行搜索 安装jsonpath 安装&#xff1a;pip install jsonpath 导入&#xff1a; from jsonpath import jsonpath jsonpath能通过简单的方式就能提取给定JSON中的字段。 jsonpath官方地址&#xff1a;https://goessner.net/articles/JsonPath/ 在…

Python-VBA编程500例-022(入门级)

最长AB子串(Longest AB Alternating Substring)(或称为最长XY出现次数相同的子字符串)这个问题看似是一个比较抽象的编程问题&#xff0c;但在实际应用场景中&#xff0c;它可以用来解决一系列涉及平衡性和重复模式的实际问题。常见应用场景有&#xff1a; 1、DNA或RNA序列分析…

Obsidian插件:增加目录栏 flating toc

一、插件介绍 增加目录栏 插件市场搜索 flating toc安装即可 二、使用 写文档时候可以看到左边默认出现目录 可以自己配置一些相关设置 最后也可以安装一下插件样式设置插件&#xff0c;自己按照自己喜好调整

怎么搭建一个蛋糕店微信小程序_打造你的专属蛋糕店微信小程序

甜蜜满溢&#xff0c;一键尽享——打造你的专属蛋糕店微信小程序 在这个快节奏的时代&#xff0c;我们总是在寻找一种简单、快捷的方式来满足自己的味蕾。想象一下&#xff0c;当你忙碌了一天&#xff0c;疲惫不堪&#xff0c;突然想吃上一口美味的蛋糕&#xff0c;却又不想费…

使用GPU加速FLUENT计算

1.软件配置 一台具有Nvidia显卡的电脑 确保电脑正确安装有显卡驱动 可通过cmd窗口输入“nvidia-smi”命令&#xff0c;若看到下述窗口则说明显卡驱动安装正确。 安装最佳适配的CUDA版本&#xff0c;也可安装低版本CUDA驱动。 同样可通过cmd窗口输入“nvidia-smi”命令&#x…

关于移动视频-无线图传产品中的录像-云端录像-录像计划等说明

关于4G执法记录仪-智能安全帽-布控球-4GDVR等4G/5G图传产品中的录像机制 录像通常可保存在如下三个地方&#xff0c; 1&#xff09;前端设备&#xff0c;例如执法仪内部的TF卡、DVR里面的SD卡或者硬盘&#xff1b;需要通过USB接上位机/采集站导出&#xff0c;或者手工上传到平…

速成软件书:真的是神器吗?

那些声称几天能让你精通软件的书籍通常是几乎不可信的。学习任何一项技能都需要时间、耐心和实践&#xff0c;不能依靠几天的学习就能达到精通的水平。这样的书籍往往宣传夸大&#xff0c;吹嘘简单快速的学习方法&#xff0c;实际效果可能不令人满意。 要想真正掌握一项技能&am…

几款主流好用的markdown编辑器介绍

当然&#xff0c;以下是关于几款主流好用的 Markdown 编辑器介绍的博客分享&#xff1a; 几款主流好用的 Markdown 编辑器介绍 在写作、笔记、博客等文档编辑过程中&#xff0c;Markdown 已经成为了许多人的首选格式。为了更高效地编写 Markdown 文档&#xff0c;选择一款适合…

【功能实现】新年贺卡(蓝桥)

题目分析&#xff1a; 想要实现一个随机抽取功能 功能拆解&#xff1a;题目给了数组&#xff0c;我们采用生成随机数的方式&#xff0c;随机数作为数组的索引值访问数组的值。 并返回获取到的值&#xff0c;将获取到的值插入到页面中。 document.addEventListener(DOMConten…

TouchGFX之画布

一、画布渲染器 画布控件渲染器&#xff08;Canvas Widget Renderer&#xff0c;以下简称CWR&#xff09;是强大的多功能TouchGFX插件&#xff0c;在使用相对较小的存储空间的同时保持高性能&#xff0c;可提供平滑、抗锯齿效果良好的几何图形绘制。TouchGFX使用CWR可绘制复杂…

Redis命令-String命令

4.3 Redis命令-String命令 String类型&#xff0c;也就是字符串类型&#xff0c;是Redis中最简单的存储类型。 其value是字符串&#xff0c;不过根据字符串的格式不同&#xff0c;又可以分为3类&#xff1a; string&#xff1a;普通字符串int&#xff1a;整数类型&#xff0…

【正点原子FreeRTOS学习笔记】————(14)事件标志组

这里写目录标题 一、事件标志组简介&#xff08;了解&#xff09;二、事件标志组相关API函数介绍&#xff08;熟悉&#xff09;三、事件标志组实验&#xff08;掌握&#xff09; 一、事件标志组简介&#xff08;了解&#xff09; 事件标志位&#xff1a;用一个位&#xff0c;来…

香港高才通计划abc类的申请材料各不同,附官方续签攻略!

香港高才通计划abc类的申请材料各不同&#xff0c;附官方续签攻略&#xff01; 作为香港“史上最快获批签证”&#xff0c;高才通计划受到内地精英的热烈欢迎&#xff0c;香港高才通于2022年12月28日开放申请&#xff0c;截至2023年12月31日&#xff0c;香港高才通计划已接获62…

如何应对Android面试官->Android中的类加载机制,手写热修复框架(上)

前言 本章主要介绍 Android 中的类加载机制和 Java 中的类加载机制有什么不同&#xff1f; ClassLoader Android 中的顶层抽象基类也是 java.lang.ClassLoader&#xff1b;可以进入 Android SDK 中提供的 ClassLoader 看一下 可以看到&#xff0c;这个 ClassLoader 是一个抽象…

短视频矩阵系统新的ui迭代上线

短视频矩阵系统是一个复杂的系统&#xff0c;需要保证其稳定性以确保用户的使用体验。以下是一些关键的方法和步骤来确保开发的系统稳定性&#xff1a; 1. **设计合理的架构**&#xff1a;架构的合理性对于系统的稳定性至关重要。系统应设计为可扩展的&#xff0c;并具有良好的…

【JavaWeb】Day17.前端工程化——Vue项目开发流程

Vue项目开发流程 上个文章展示了建立新的Vue项目并打开网页&#xff0c;今天展示项目是如何形成的&#xff0c;即项目的开发流程。 用VScode打开新建的项目 &#xff0c;render函数创建了虚拟DOM元素&#xff0c;在app.vue中定义。 Vue的组件文件以 .vue结尾&#xff0c;每个组…

TLSR8258 MTU、DLE(PDU)

本文基于泰凌微TLSR8258 M1S1 demo。 1.DLE&#xff1a;LE Data Packet Length Extension 中文全称&#xff1a;低功耗蓝牙数据包长度扩展。 这是一个在2014年12月2日正式发布的bluetooth for BLE添加的新特性&#xff0c;以支持在LL Data PDU更长的数据&#xff0c;最大支持…

echarts 3D示例 echart, echarts-gl

echarts官网有很多的炫酷的3D模型 来尝试实现下&#xff0c;使用原本的柱状图或者折线图代码创建echarts示例,使用cdn的方式引入echarts <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewp…

共享WiFi贴码真能赚钱还只是骗局?

最近WiFi贴码的风真的很大&#xff0c;想做的人很多&#xff0c;那么自然怕被骗的人也比比皆是。WiFi贴码真的如大家所说很赚钱&#xff1f;本期就来解答一下WiFi贴码到底能不能挣钱以及它分析是不是骗局的套路。 什么是WiFi贴码&#xff1f; 这边我们从共享wifi的鼻祖微火那了…
最新文章