Flutter 学习之旅 之 flutter 有时候部分手机【TextField】无法唤起【输入法软键盘】的一些简单整理
Flutter 学习之旅 之 flutter 有时候部分手机【TextField】无法唤起【输入法软键盘】的一些简单整理
目录
Flutter 学习之旅 之 flutter 有时候部分手机【TextField】无法唤起【输入法软键盘】的一些简单整理
一、简单介绍
二、现象描述
三、尝试的解决方案
1、根据应用的需求 在 AndroidManifest.xml 配置 android:windowSoftInputMode
2、确保输入框获取焦点
3、确保 TextField 的键盘调用逻辑正确。可以通过手动调用键盘弹出和隐藏的方法来确保键盘能够正确弹出 尝试
4、焦点管理对于键盘弹出至关重要。通过以下方式确保焦点正确管理 尝试
5、在 TextField 的 onTap 事件中手动触发键盘弹出 尝试
6、最后的尝试的解决的方式是在 LauncherManifest.xml 进行配置
一、简单介绍
Flutter 是一款开源的 UI 软件开发工具包,由 Google 开发和维护。它允许开发者使用一套代码同时构建跨平台的应用程序,包括移动设备(iOS 和 Android)、Web 和桌面平台(Windows、macOS 和 Linux)。
Flutter 使用 Dart 编程语言,它可以将代码编译为 ARM 或 Intel 机器代码以及 JavaScript,从而实现快速的性能。Flutter 提供了一个丰富的预置小部件库,开发者可以根据自己的需求灵活地控制每个像素,从而创建自定义的、适应性强的设计,这些设计在任何屏幕上都能呈现出色的外观和感觉。
二、现象描述
环境与操作说明:
1、使用 Flutter 进行 module 相关页面的开发,其中,里面涉及到 TextField 交互,唤起输入法软键盘的操作,
2、然后 aar 集成到 Android 上,在 Android Studio 上进行相关的开发,
3、最后,在 aar 集成到 Unity,在 Unity 上进行打包
问题现象描述:
1、进行 Flutter 和 Android 端打包测试 使用 TextField 可以正常的进行 输入法软键盘 的唤起;
2、在集成到 Unity 上进行打包测试,使用 TextField 交互的时候,在华为的一些手机上没有立即弹出 输入法软键盘
三、尝试的解决方案(仅供参考,具体问题具体分析)
1、根据应用的需求 在 AndroidManifest.xml
配置 android:windowSoftInputMode
<activityandroid:name=".YourActivity"android:windowSoftInputMode="stateHidden|adjustResize">
</activity>
stateVisible
:软键盘默认可见。
adjustResize
:当软键盘弹出时,调整布局大小
后来,发现使用 Unity 打的包依然,没有能够唤起输入法软键盘
最后添加
<activity android:name=".YourActivity"android:exported="true" android:launchMode="singleTop" android:configChanges="locale|keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|density|layoutDirection|fontScale" android:windowSoftInputMode="adjustResize" android:hardwareAccelerated="true"android:theme="@style/UnityThemeSelector">
上面代码定义了一个 Android 应用中的
<activity>
元素,用于配置一个具体的活动(Activity)。以下是每个属性的详细解释:1.
android:name
含义:指定活动的完整类名。
值:
com.rayneo.adapter.MainActivity
这表示该活动的类名为MainActivity
,位于com.rayneo.adapter
包中。2.
android:exported
含义:是否允许其他应用或组件启动该活动。
值:
true
表示其他应用可以通过意图(Intent)启动这个活动。如果设置为false
,则只有在同一应用内部才能启动该活动。3.
android:launchMode
含义:定义活动的启动模式,控制活动在任务栈中的行为。
值:
singleTop
singleTop
:如果活动已经位于任务栈的顶部,再次启动该活动时不会创建新的实例,而是调用onNewIntent()
方法。其他可能的值:
standard
:每次启动都会创建新的实例。
singleTask
:在任务栈中只保留一个实例,如果活动已经存在,则将该活动移到栈顶。
singleInstance
:活动单独运行在一个任务栈中,不会与其他活动共享任务栈。4.
android:configChanges
含义:声明活动可以处理的配置变化,避免因配置变化(如屏幕旋转、语言切换等)导致活动被销毁和重新创建。
值:
locale|keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|density|layoutDirection|fontScale
locale
:语言或地区变化。
keyboard
:键盘类型变化。
keyboardHidden
:键盘隐藏或显示。
orientation
:屏幕方向变化(横屏或竖屏)。
screenLayout
:屏幕布局变化。
uiMode
:UI 模式变化(如夜间模式)。
screenSize
:屏幕尺寸变化。
smallestScreenSize
:最小屏幕尺寸变化。
density
:屏幕密度变化。
layoutDirection
:布局方向变化(如从左到右或从右到左)。
fontScale
:字体缩放变化。5.
android:windowSoftInputMode
含义:定义软键盘的显示和调整行为。
值:
adjustResize
adjustResize
:当软键盘显示时,活动的布局会自动调整大小,以确保内容不会被软键盘遮挡。其他可能的值:
adjustPan
:当软键盘显示时,活动的布局会自动向上平移,以确保当前焦点控件不会被遮挡。
stateAlwaysHidden
:软键盘默认隐藏。
stateAlwaysVisible
:软键盘默认显示。6.
android:hardwareAccelerated
含义:是否启用硬件加速。
值:
true
表示启用硬件加速,可以提高图形渲染性能,但可能会增加内存消耗。7.
android:theme
含义:指定活动的主题样式。
值:
@style/UnityThemeSelector
这是一个资源引用,指向styles.xml
文件中定义的UnityThemeSelector
样式。主题定义了活动的外观和行为,例如窗口背景、按钮样式等。总结
这段代码定义了一个名为
com.rayneo.adapter.MainActivity
的活动,配置了以下行为:
允许从外部启动。
使用
singleTop
启动模式,避免重复创建实例。可以处理多种配置变化,避免因配置变化导致活动被销毁和重建。
软键盘显示时会调整布局大小。
启用硬件加速以提高性能。
使用
UnityThemeSelector
主题样式。
2、确保输入框获取焦点
在代码中,确保输入框(EditText
)能够正确获取焦点。可以通过以下方式强制获取焦点并弹出软键盘:
EditText editText = findViewById(R.id.your_edit_text);
editText.requestFocus();
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
如果输入框在 Dialog
中,可以在 Dialog
显示后弹出软键盘
dialog.setOnShowListener(dialogInterface -> {EditText editText = dialog.findViewById(R.id.your_edit_text);editText.requestFocus();InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
});
然后,可以使用 MethodChanel 的方式,在 Flutter 的 TextField 点击的时候进行调用
3、确保 TextField
的键盘调用逻辑正确。可以通过手动调用键盘弹出和隐藏的方法来确保键盘能够正确弹出 尝试
// 弹出键盘
SystemChannels.textInput.invokeMethod('TextInput.show');// 隐藏键盘
SystemChannels.textInput.invokeMethod('TextInput.hide');
4、焦点管理对于键盘弹出至关重要。通过以下方式确保焦点正确管理 尝试
FocusNode focusNode = FocusNode();focusNode.addListener(() {if (focusNode.hasFocus) {// 强制弹出键盘SystemChannels.textInput.invokeMethod('TextInput.show');}
});TextField(focusNode: focusNode,
)
5、在 TextField
的 onTap
事件中手动触发键盘弹出 尝试
TextField(onTap: () {FocusScope.of(context).unfocus();WidgetsBinding.instance.addPostFrameCallback((_) {focusNode.requestFocus();});},focusNode: focusNode,
)
6、最后的尝试的解决的方式是在 LauncherManifest.xml 进行配置
LauncherManifest.xml
文件通常是一个配置文件,用于定义某些应用程序或系统组件的启动器(Launcher)相关设置。
<supports-screensandroid:smallScreens="true"android:normalScreens="true"android:largeScreens="true"android:xlargeScreens="true"android:anyDensity="true"/>
<supports-screens>
标签这是一个用于声明应用支持的屏幕尺寸和密度的标签。它可以帮助系统在不同设备上更好地适配应用,或者限制应用在某些不支持的设备上安装。
属性解释
android:smallScreens="true"
表示应用支持小尺寸屏幕设备。
小尺寸屏幕通常是指屏幕对角线小于 4.7 英寸的设备。
android:normalScreens="true"
表示应用支持普通尺寸屏幕设备。
普通尺寸屏幕通常是指屏幕对角线在 4.7 英寸到 6.0 英寸之间的设备。
android:largeScreens="true"
表示应用支持大尺寸屏幕设备。
大尺寸屏幕通常是指屏幕对角线在 6.0 英寸到 7.0 英寸之间的设备。
android:xlargeScreens="true"
表示应用支持超大尺寸屏幕设备。
超大尺寸屏幕通常是指屏幕对角线大于 7.0 英寸的设备,例如平板电脑。
android:anyDensity="true"
表示应用支持所有屏幕密度。
屏幕密度是指屏幕的像素密度,例如低密度(ldpi)、中密度(mdpi)、高密度(hdpi)、超高密度(xhdpi)等。
设置为
true
表示应用可以自动适配不同密度的屏幕,系统会根据设备的屏幕密度选择合适的资源(如图片、布局等)。作用
兼容性:通过设置这些属性,应用可以明确支持哪些类型的设备。如果某些属性设置为
false
,应用将不会在不支持的设备上安装。资源适配:
android:anyDensity="true"
确保应用可以根据设备的屏幕密度选择合适的资源,从而在不同设备上提供更好的用户体验。
其中,经过测试,最终生效,成功换出输入法软键盘 的关键配置是 :
android:anyDensity="true"
相关文章:
Flutter 学习之旅 之 flutter 有时候部分手机【TextField】无法唤起【输入法软键盘】的一些简单整理
Flutter 学习之旅 之 flutter 有时候部分手机【TextField】无法唤起【输入法软键盘】的一些简单整理 目录 Flutter 学习之旅 之 flutter 有时候部分手机【TextField】无法唤起【输入法软键盘】的一些简单整理 一、简单介绍 二、现象描述 三、尝试的解决方案 1、根据应用的…...
【工具】scMultiMap基于单细胞多模态数据实现增强子与靶基因的细胞类型特异性映射
文章目录 介绍代码参考 介绍 在与疾病相关的细胞类型中绘制增强子和靶基因图谱,能够为全基因组关联研究(GWAS)变异的功能机制提供关键见解。单细胞多模态数据能够测量同一细胞中的基因表达和染色质可及性,从而实现细胞类型特异性…...
rt-linux下的cgroup cpu的死锁bug
一、背景 rt-linux系统有其非常大的实时性的优势,但是与之俱来的是该系统上有一些天然的缺陷。由于rt-linux系统允许进程在内核态执行的逻辑里,在持锁期间,甚至持spinlock锁期间,都能被其他进程抢占。这一特性能带来实时性的好处…...
Java 内存泄漏 详解
Java 内存泄漏是指程序中某些对象不再被使用,但由于某些原因无法被垃圾回收器(Garbage Collector, GC)回收,导致内存被持续占用,最终可能引发性能问题或 OutOfMemoryError。 本文将从底层原理、源码层面详细解释 Java …...
Rabbit MQ的基础认识
零、介绍 MQ:message queue(消息队列:先进先出) Rabbit MQ: 一、优势 1.应用解耦 2.异步提速 3.削峰填谷 4.总结 二、劣势...
GIS开发笔记(16)解决基于osg和osgearth三维地图上添加placeNode图标点击不易拾取的问题
一、实现效果 二、实现原理 在图标添加的位置同时添加一个红色圆球,半径为5000~8000米,图标和圆球挂接到同一个group节点,group节点再挂接到根节点,当点击到圆球时,通过遍历父节点就可以找到被点击的图标节点。 三、参考代码 //添加图标代码 #pragma once #include &…...
JDBC 使用流程详解
1. 加载数据库驱动 目的:注册数据库驱动类,使 JDBC 能识别特定数据库(如 MySQL、Oracle)。 代码示例: // JDBC 4.0 后无需显式加载驱动(SPI 自动发现),但部分旧项目仍需手动加载 C…...
小白学习java第16天(上): javaWeb
0.背景介绍 1.前言 首先我们需要javaweb里面的大概流程是干什么的,怎么才能实现的?,每一部分是靠什么进行的?以及背后实现的功能是干什么的?。。。。对于我来说要是不解决这些,会让我感觉不踏实ÿ…...
vue 打包设置
1、vue webpack配置 filename: [path][base].gz,// 设置成这样就行了 const { defineConfig } require(vue/cli-service)const debug process.env.NODE_ENV ! productionconst CompressionWebpackPlugin require(compression-webpack-plugin)const TerserPlugin require(…...
Excel如何安装使用EPM插件并且汉化?
Excel如何使用EPM插件 Excel如何使用EPM插件一、安装EPM插件二、启动EPM插件三、插件汉化设置 Excel如何使用EPM插件 一、安装EPM插件 在安装EPM插件时,若运行安装包后出现报错提示,通常是因为系统缺少 Visual Studio 2010 组件,需先安装该…...
在Linux中使用fcntl函数和ioctl函数
特性fcntlioctl作用对象文件描述符(通用文件操作)设备文件(硬件或驱动控制)标准化程度POSIX 标准,行为一致设备相关,无统一标准典型场景文件锁、非阻塞模式、描述符复制终端控制、网络配置、硬件操作移植性…...
ESP32-S3 入门学习笔记(四):LED实验
ESP32-S3 入门学习笔记(四):LED实验 开发板:正点原子ESP32S3 B站学习链接:link 1. GPIO&LED 简介 1.1 GPIO 简介 GPIO 是负责控制或采集外部器件信息的外设,主要负责输入输出功能。以下是ATK-MWS3S…...
clickhouse#复制修改数据
需求 在ClickHouse表中存在一些数据,你需要复制其中几行数据,这个复制不是完全复制,额外需要修改其中某几列数据项。 语句 INSERT INTO xxx_table SELECT * REPLACE ({except_value_1} AS {column_name_1},...{except_value_n} AS {colum…...
Java安全之cc链学习集合
CC1 InvokerTransformer https://blog.csdn.net/weixin_53912233/article/details/137786954 LazyMap https://blog.csdn.net/weixin_53912233/article/details/137787763 CC1链学习记录_cc1 链子 学习-CSDN博客 Java反序列化Commons-Collections篇02-CC1链补充 | Drunk…...
分享:google高级搜索常用的4个入口
网站和文件:google.com/advanced_search图片:google.com/advanced_image_search视频:google.com/advanced_video_search书籍:google.com/advanced_book_search...
内存四区(堆)
在上一次分享中,我和大家分享了栈区,今天栈区来了。 而内存四区中,堆区是干嘛的呢? 堆区,也是用来存放数据的,只不过呢,堆区中的数据的生死存亡是由程序员来控制的。 当然如果你一直不管堆区…...
Ldap高效数据同步- MirrorMode双主复制模式配置详解(下)
#作者:朱雷 上篇:《Ldap高效数据同步- MirrorMode双主复制模式配置详解(上)》 链接: link 文章目录 三、配置Mirror复制类型3.3. 在ldap-0上增加test2用户3.4. 在ldap-1上查看3.5. 在ldap-1上增加test4用户3.7. 最终两台LDAP数据…...
亚组风险比分析与可视化
1. 结果解读 1.1 风险比概述 1.1.1 风险比基本概念 风险比(Hazard Ratio)用于衡量治疗组与对照组事件发生的风险差异。 风险比为1,表示两组风险相同;小于1,治疗组风险低;大于1,治疗组风险高。 1.1.2 性别亚组分析 A性风险比小于1,表明治疗对A性有积极效果,风险降低。…...
2个小时1.5w字| React Golang 全栈微服务实战
文章目录 前言Golang 入门教程1. 下载与环境配置安装 GoWindows 安装macOS 安装Linux 安装 理解 GOROOT 和 GOPATHGOROOTGOPATHGo Modules 与 GOPATH 的关系查看和设置 Go 环境变量 配置 GOPATH 2. 语法与包管理Go 基础语法运行 Go 程序构建 Go 程序包管理 (Go Modules)常用标准…...
Spring security详细上手教学(三)密码管理
Spring security详细上手教学(三)密码管理 本章节两部分内容 实现PasswordEncoder使用Spring Security Crypto模块提供的工具 1. 使用 password encoder 通常,系统不会使用纯文本来保存密码,需要进行加密/哈希等一系列处理以加…...
ADC读取异常情况汇总
MCU ADC读取内部参考电压 Vrefint 如果某个输入引脚的电压高于供电电压,可能存在读取内部参考电压数值不准或者读数是4095。 虽然宽电压支持,最好硬件设计硬件避免这种情况,避免异常情况。...
给函数参数设置默认值的方式
在 JavaScript 中,给函数参数设置默认值主要有以下几种方式: 1. 函数体内手动检查赋值(ES5 及以前) 在函数内部检查参数是否为 undefined,然后手动赋值默认值。 function greet(name, age) {name name ! undefined…...
【C语言】内存分配的理解
很多时候我们声明变量,系统就自动为我们处理好了内存。 这主要取决于内存分配发生的时间和内存区域。C语言中主要有以下几种内存分配方式: 栈 (Stack) 内存分配 (自动内存): 何时发生: 在函数内部声明的非static局部变量(包括基本类型如 int…...
特征工程四:数据特征提取TfidfVectorizer的使用
TfidfVectorizer 深度解析 TfidfVectorizer 是 scikit-learn 中用于文本特征提取的核心工具,它将原始文本转换为 TF-IDF 特征矩阵,是自然语言处理(NLP)和文本挖掘的基础组件。 一、核心原理 1. TF-IDF 计算 TF (Term Frequency):词频&…...
深度学习涉及的数学与计算机知识总结
深度学习涉及的数学与计算机知识可总结为以下核心模块,结合理论与实践需求分为数学基础和计算机技能两大方向: 一、数学知识 线性代数 核心:矩阵运算(乘法、转置、逆矩阵)、向量空间、特征值与特征向量、奇异值分解&am…...
引领印尼 Web3 变革:Mandala Chain 如何助力 1 亿用户迈向数字未来?
当前 Web3 的发展正处于关键转折点,行业亟需吸引新用户以推动 Web3 的真正大规模采用。然而,大规模采用面临着核心挑战:数据泄露风险、集中存储的安全漏洞、跨系统互操作性障碍,以及低效的服务访问等问题。如何才能真正突破这些瓶…...
Mysql从入门到精通day6————时间和日期函数精讲
关于Mysql的日期和时间计算函数种类非常繁多,此处我们对常用的一些函数的用法通过实例演示让读者体会他们的用法,文章末尾也给出了时间和日期计算的全部函数 函数1:curdate()和current_date()函数 作用:获取当前日期 select curdate(),current_date();运行效果:...
C#如何正确的停止一个多线程Task?CancellationTokenSource 的用法。
在 C# 中停止一个 Task 需要谨慎处理,因为直接强制终止(如 Thread.Abort())会导致资源泄漏或状态不一致。推荐使用 协作式取消(Cooperative Cancellation) 通过 CancellationToken 实现安全停止。以下是详细方…...
【Redis】Redis Zset实现原理:跳表+哈希表的精妙设计
一、实现: Zset有序集合是一种由 跳表(Skip List)哈希表(Hash Table) 实现的数据结构。 二、特点功能: Set特性排序 三、跳表与哈希表分析: Zset的实现由两个数据结构: 1.跳表(Skip List):用于存储数据的排序和快…...
【前端】jQuery 对数据进行正序排列
你可以使用 jQuery 对数据进行正序排列(按 jbsj 升序)。以下是完整的代码示例: <!DOCTYPE html> <html> <head><title>按时间排序</title><script src"https://code.jquery.com/jquery-3.6.0.min.js&…...
Matlab 报错:尝试将 SCRIPT vl_sift 作为函数执行:
问题描述: 运行matlab程序出现报错: 警告: 名称不存在或不是目录: xxx\vlfeat-0.9.21\toolbox\mex\mexw64 xxxx 尝试将 SCRIPT vl_sift 作为函数执行: xxxx\vlfeat-0.9.21\toolbox\sift\vl_sift.m原因分析: 缺少 \vlfeat-0.9.21\toolbox…...
前端权限管理
前端权限 本质上就是控制前端视图层的展示和前端所发送的请求 一、RBAC 用户(User):系统的使用者 角色(Role):权限的集合(如管理员、普通用户)。 权限(Permission&am…...
【PVR】《Adaptive Palm Vein Recognition Method》
[1]程良彬.自适应的手掌静脉识别方法研究[D].桂林电子科技大学,2023.DOI:10.27049/d.cnki.ggldc.2023.000681. 文章目录 1、Background and Motivation2、Related Work3、Advantages / Contributions4、Method4.1、Datasets and Metrics4.2、基于最大化手掌内切圆的感兴趣区域提…...
MLLM之Bench:LEGO-Puzzles的简介、安装和使用方法、案例应用之详细攻略
MLLM之Bench:LEGO-Puzzles的简介、安装和使用方法、案例应用之详细攻略 目录 LEGO-Puzzles的简介 1、LEGO-Puzzles的特点 LEGO-Puzzles的安装和使用方法 1、安装 步骤 0:安装 VLMEvalKit 步骤 1:设置 API 密钥(可选…...
一周学会Pandas2 Python数据处理与分析-Pandas2数据信息查看操作
锋哥原创的Pandas2 Python数据处理与分析 视频教程: 2025版 Pandas2 Python数据处理与分析 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili DataFrame的基础信息和统计性信息。在我们拿到一 个数据集,用Pandas载入后,需要做一些初步的…...
【大模型微调与应用开发实战指南】从理论到工业级部署
目录 前言技术背景与价值当前技术痛点解决方案概述目标读者说明 一、技术原理剖析核心概念图解核心作用讲解关键技术模块说明技术选型对比 二、实战演示环境配置要求核心代码实现(LoRA微调)运行结果验证 三、性能对比测试方法论量化数据对比结果分析 四、…...
动手学深度学习11.10. Adam算法-笔记练习(PyTorch)
以下内容为结合李沐老师的课程和教材补充的学习笔记,以及对课后练习的一些思考,自留回顾,也供同学之人交流参考。 本节课程地址:72 优化算法【动手学深度学习v2】_哔哩哔哩_bilibili 本节教材地址:11.10. Adam算法 — 动手学深度学习 2.0.0 documentation 本节开源代码…...
Spring Boot API版本控制实践指南
精心整理了最新的面试资料和简历模板,有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 引言 在API迭代过程中,版本控制是保障系统兼容性的重要机制。合理的版本控制策略可以帮助开发团队平滑过渡接口变更,同时支持多版本客…...
如何让自己的博客可以在百度、谷歌、360上搜索到(让自己写的CSDN博客可以有更多的人看到)
发现自己写的博客文章名复制,然后粘贴到百度进行搜索,发现搜索不到自己的,但是会显示其他人的CSDN博客。于是查找相关资料,整理出以下搜索引擎资源收录入口,把自己的文章链接输入进去,然后经过审核通过后&a…...
Transformer
一、为什么需要Transformer?先看传统模型的痛点 1. 传统模型:RNN与CNN的短板 RNN(循环神经网络):逐个处理单词,像流水线作业。 问题:速度慢(无法并行&…...
LeetCode热题100--438.找到字符串中所有字母异位词--中等
1. 题目 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 示例 1: 输入: s “cbaebabacd”, p “abc” 输出: [0,6] 解释: 起始索引等于 0 的子串是 “cba”, 它是 “abc” 的异位词。 起始…...
仿微信上传头像,实现拍摄、相册选择、手动缩放、裁剪、蒙版、撤回、还原、上传微信本地文件功能
目前功能基于wx-cropper进行开发,wx-cropper 是一个基于微信小程序的图片裁剪工具 项目地址:gitcode地址 一、触发入口标签 <t-cell hover arrow class"userCell" catchtap"handleChangeHeadImg"><view slot"title&…...
Python 操作 Excel 插入图表:解锁数据可视化的高效密码
Python 操作 Excel 插入图表:解锁数据可视化的高效密码 在数据分析与展示的领域中,Python 凭借其强大的库支持,成为众多开发者与数据工作者的得力助手。将图表嵌入 Excel 文件,不仅能丰富数据呈现形式,还能让信息传递…...
python实战项目66:抓取考研招生专业信息
python实战项目66:抓取考研招生专业信息 一、流程分析二、完整代码一、流程分析 考研招生专业信息所在网页主页如下图: 在搜索框中输入所需查询的专业 点击“开设院校”,如下图所示: 打开浏览器开发者工具抓包,刷新页面,找到xhr数据包。 首先,在zydws.do数据包中抓…...
Awesome-Embodied-AI: 具身机器人的资源库
💡 你是否在寻找具身人工智能(Embodied AI)领域的研究资源?是否希望有一个系统性的资源集合来加速你的研究?今天给大家推荐一个重磅项目! 🌟 为什么需要这个项目? 具身人工智能是一…...
Java位运算符大全
1. Java 支持的位运算符 Java 提供了 7 种位运算符: 运算符名称描述示例&按位与(AND)两个位都为 1 时,结果才为 15 & 3 → 1|按位或(OR)两个位有一个为 1 时,结果就为 15 | 3 → 7^按…...
Using the NCCL Library: A Practical Guide
文章目录 Using the NCCL Library: A Practical GuidePrerequisitesBasic NCCL ConceptsPractical Demo CodeCompilation and ExecutionKey Steps ExplainedCommon Patterns1. Point-to-Point Communication2. Broadcast3. Using Streams Best Practices Using the NCCL Librar…...
UML 活动图详解之小轿车启动活动图分析
目录 一、UML 活动图概述 二、UML 活动图的构成元素详解 (一)活动 (二)动作状态 (三)活动状态 (四)迁移(转换) (五)初始节点 …...
58常用控件_QTextEdit的使用
目录 代码示例: 获取多行输入框的内容 代码示例:验证输入框的各种信号 QTextEdit 表示多行输入框也是一个富文本 & markdown 编辑器 并且能在内容超出编辑框范围时自动提供滚动条 QTextEdit不仅能表示纯文本,还可以表示html和markdown QPlainTextE…...
uniapp-商城-42-shop 后台管理 分包
在uniapp 的全局文件中,讲了分包 pages.json 页面路由 | uni-app官网 主要是用于小程序的打包。超高两M就不能上传的。 看看官网上是怎么说的。 1 subPackages 分包加载配置,此配置为小程序的分包加载机制。 因小程序有体积和资源加载限制…...