字符串url获取参数_如何从URL查询字符串获取示例参数或将其附加到URL查询字符串(示例)?...

字符串url获取参数

让我们剖析几个简单的用例,并查看视图参数的工作原理(视图参数名称不是强制性的,以匹配通过URL查询字符串传递的请求参数,但在本文中,我们将重点讨论这种情况):

情况1

index.xhtml页面中,我们有:

<f:metadata><f:viewParam name="playernameparam" value="#{playersBean.playerName}"/>           <f:viewParam name="playersurnameparam" value="#{playersBean.playerSurname}"/>
</f:metadata>
...
<h:form>Enter name:<h:inputText value="#{playersBean.playerName}"/>Enter surname:<h:inputText value="#{playersBean.playerSurname}"/><h:commandButton value="Send" action="results?faces-redirect=true&includeViewParams=true"/>                 
</h:form>

results.xhtml页面中,我们有:

<f:metadata><f:viewParam name="playernameparam" value="#{playersBean.playerName}"/>           <f:viewParam name="playersurnameparam" value="#{playersBean.playerSurname}"/>
</f:metadata>You requested name: <h:outputText value="#{playersBean.playerName}"/><br/>
You requested surname: <h:outputText value="#{playersBean.playerSurname}"/>

PlayersBean我们有:

@Named
@RequestScoped
public class PlayersBean {private String playerName;private String playerSurname;...
}

当应用程序进入时发生了什么(设置查询字符串的方式并不重要;您可以手动执行,也可以通过 这里) index.xhtml?playernameparam=rafael&playersurnameparam=nadal吗?

  1. 请求参数名的视图参数的名称相匹配,所以该视图参数取请求参数值,最后把它们存储在PlayersBean下托管bean playerNameplayerSurname领域。 因此,粗略地说,您可以通过视图参数设置托管bean字段。
  2. 视图将被渲染(生成HTML标记并将其发送到浏览器),因此您可以在文本输入中看到rafaelnadal ,因为它们是从托管Bean属性(即#{playersBean.playerName}#{playersBean.playerSurname} )。
  3. 您(作为用户)可以在文本输入中手动修改这些值(文本)(或像这样保留它们)。 现在,当您单击
    发送按钮,您实际上提交了具有当前值的表单(由<h:form>分隔的部分
    </h:form> )。 因此,将提交名称和姓氏,并覆盖/初始化数据模型中的当前值(即使您没有修改它们)。 在对视图进行编码(渲染)期间,JSF还将针对PlayersBean托管bean对视图参数进行编码。
  4. 此外,JSF注意到您想要在导航到下一个目标页面( results.xhtml )之前附加视图参数(将其表示为: ?faces-redirect=true&amp;includeViewParams=true )。 在此请求的前面,已经根据PlayersBean托管bean评估了视图参数。 因此,JSF处理视图参数,并将根据视图参数名称和值计算出的相应查询字符串附加到操作URL。
  5. JSF导航到目标URL(现在包含查询字符串)。 这是可见的,多亏了faces-redirect=true

案例2

index.xhtml页面中,我们有:

<f:metadata><f:viewParam name="playernameparam" value="#{playersBean.playerName}"/>           <f:viewParam name="playersurnameparam" value="#{playersBean.playerSurname}"/>
</f:metadata><h:form>Enter name:<h:inputText value="#{playersBean.playerName}"/>Enter surname:<h:inputText value="#{playersBean.playerSurname}"/><h:commandButton value="Send" action="results?faces-redirect=true&includeViewParams=true"/>                 
</h:form>

results.xhtml页面中,我们有:

<f:metadata><f:viewParam name="playernameparam" value="#{playersBean.playerName}"/>           <f:viewParam name="playersurnameparam" value="#{playersBean.playerSurname}"/>
</f:metadata>You requested name: <h:outputText value="#{playersBean.playerName}"/><br/>
You requested surname: <h:outputText value="#{playersBean.playerSurname}"/>

PlayersBean我们有:

@Named
@RequestScoped
public class PlayersBean {private String playerName = "roger";private String playerSurname = "federer";...
}

当应用程序到达index.xhtml时会发生什么? (无查询字符串)

  1. 没有查询字符串(没有请求参数)。 因此,无法从查询字符串初始化视图参数,并且它们在PlayersBean也未设置任何内容!
  2. 呈现视图(生成HTML标记并将其发送到浏览器),并且文本输入反映了
    roger和federer initalization数据(这些是评估#{playersBean.playerName}#{playersBean.playerSurname} )。
  3. 您(作为用户)可以在文本输入中(或不可以!)修改这些值。 现在,当您单击“ Send按钮时,您实际上提交了表单(属于由<h:form>界定的部分的数据
    </h:form> )。 因此,将提交名称和姓氏,并覆盖/初始化模型中的当前值(即使您没有修改它们)。 在对视图进行编码(渲染)期间,JSF还将针对PlayersBean托管bean对视图参数进行编码。
  4. 此外,JSF注意到您想要在导航到下一个目标页面( results.xhtml )之前附加视图参数(将其表示为: ?faces-redirect=true&amp;includeViewParams=true )。 在此请求的前面,已经根据PlayersBean托管bean评估了视图参数。 因此,JSF处理视图参数,并将根据视图参数名称和值计算出的相应查询字符串附加到操作URL。
  5. JSF导航到目标URL(现在包含查询字符串)。 这是可见的,多亏了faces-redirect=true

案例3

index.xhtml页面中,我们有:

<f:metadata><f:viewParam name="playernameparam" value="#{playersBean.playerName}"/>           <f:viewParam name="playersurnameparam" value="#{playersBean.playerSurname}"/>
</f:metadata><h:link value="Send" outcome="results" includeViewParams="true"/>

results.xhtml页面中,我们有:

<f:metadata><f:viewParam name="playernameparam" value="#{playersBean.playerName}"/>           <f:viewParam name="playersurnameparam" value="#{playersBean.playerSurname}"/>
</f:metadata>You requested name: <h:outputText value="#{playersBean.playerName}"/><br/>
You requested surname: <h:outputText value="#{playersBean.playerSurname}"/>

PlayersBean我们有:

@Named
@RequestScoped
public class PlayersBean {private String playerName;private String playerSurname;...
}

当应用程序进入时发生了什么(设置查询字符串的方式并不重要;您可以手动执行,也可以通过 > 这里) index.xhtml?playernameparam=rafael&playersurnameparam=nadal吗?

  1. 请求参数名称与视图参数的名称匹配,因此视图参数采用请求参数的值并将其存储在受管bean中的playerNameplayerSurname 。 因此,您可以通过视图参数设置托管bean字段。
  2. 视图将被渲染(生成HTML标记并将其发送到浏览器),因此在文本输入中,您可以看到rafaelnadal文本,因为它们是从托管Bean提取的(这些是评估#{playersBean.playerName}#{playersBean.playerSurname} )。 在对视图进行编码(渲染)期间,JSF还将针对PlayersBean托管bean对视图参数进行编码。 现在,检查页面的源代码,并注意对应于<h:link><a href>是如下生成的(注意,这是已fix ! )。 因此,JSF将<h:link>转换为<a href>并从初始请求开始附加包含视图参数的查询字符串。 includeViewParams="true"属性会导致以下链接:
  3. 当您单击链接时,您不会提交任何数据 <h:link>永远不能在 <h:form> )。 您只需执行上面的静态HTML代码,这就是一个简单的GET请求!
  4. JSF通过此GET(包含查询字符串)导航到目标URL。 不需要faces-redirect=true

案例4

index.xhtml页面中,我们有:

<f:metadata><f:viewParam name="playernameparam" value="#{playersBean.playerName}"/>           <f:viewParam name="playersurnameparam" value="#{playersBean.playerSurname}"/>
</f:metadata><h:link value="Send" outcome="results" includeViewParams="true"/>

results.xhtml页面中,我们有:

<f:metadata><f:viewParam name="playernameparam" value="#{playersBean.playerName}"/>           <f:viewParam name="playersurnameparam" value="#{playersBean.playerSurname}"/>
</f:metadata>You requested name: <h:outputText value="#{playersBean.playerName}"/><br/>
You requested surname: <h:outputText value="#{playersBean.playerSurname}"/>

PlayersBean我们有:

@Named
@RequestScoped
public class PlayersBean {private String playerName = "roger";private String playerSurname = "federer";...
}

当应用程序到达index.xhtml时会发生什么? (无查询字符串)

  1. 没有请求参数。 因此,无法从查询字符串初始化视图参数。 view参数也不会在托管bean中设置任何内容!
  2. 视图已呈现(生成了HTML标记并将其发送到浏览器),因此您可以在文本输入中看到roger和federer ,因为它们是从托管Bean提取的(这些是评估#{playersBean.playerName}#{playersBean.playerSurname} )。 在对视图进行编码(渲染)期间,JSF还将针对PlayersBean托管bean(获取rogerfederer )对视图参数进行编码。 现在,检查页面的源代码,并注意对应于<h:link><a href>是如下生成的(注意,这是已fix ! )。 因此,JSF将<h:link>转换为<a href>并从初始请求开始附加包含视图参数的查询字符串。 includeViewParams="true"属性会导致以下链接:
  3. 单击链接时,您不会提交任何数据。 您只需执行上面的静态HTML代码,这就是一个简单的GET请求!
  4. JSF通过此GET(包含查询字符串)导航到目标URL。 不需要
    faces-redirect=true

案例5

index.xhtml页面中,我们有:

<f:metadata><f:viewParam name="playernameparam" value="#{playersBean.playerName}"/>           <f:viewParam name="playersurnameparam" value="#{playersBean.playerSurname}"/>
</f:metadata><h:link value="Send" outcome="results" includeViewParams="true"/>

results.xhtml页面中,我们有:

<f:metadata><f:viewParam name="playernameparam" value="#{playersBean.playerName}"/>           <f:viewParam name="playersurnameparam" value="#{playersBean.playerSurname}"/>
</f:metadata>You requested name: <h:outputText value="#{playersBean.playerName}"/><br/>
You requested surname: <h:outputText value="#{playersBean.playerSurname}"/>

PlayersBean我们有:

@Named
@RequestScoped
public class PlayersBean {private String playerName;     // this is nullprivate String playerSurname;  // this is null...
}

当应用程序到达index.xhtml时会发生什么? (无查询字符串)

  1. 没有请求参数。 因此,无法从查询字符串初始化视图参数。 view参数在bean中没有设置任何内容!
  2. 视图已呈现(生成了HTML标记并将其发送到浏览器),因此您无法在文本输入中看到任何内容,因为它们是从Bean提取的(这些是#{playersBean.playerName}#{playersBean.playerSurname}其中为null –您不能期望看到文本为null! )。 在对视图进行编码(渲染)期间,JSF还将针对PlayersBean托管bean(获取null )对视图参数进行编码。 现在,检查页面的源代码,并注意对应于<h:link><a href>是如下生成的(注意,这是已fix ! )。 因此,JSF将<h:link>转换为<a href> ,但是没有包含视图参数的查询字符串,因为JSF看到了includeViewParams="true"属性,但无法生成以下HTML:<a href =” /…/results.xhtml? playernameparam = null &amp; playersurnameparam = null “>发送</a>”因此,JSF将“忽略” null值,并且没有要附加的查询字符串:<a href=”/…/results.xhtml”>发送</a>
  3. 单击链接时,您不会提交任何数据。 您只需执行上面的静态HTML代码,这就是一个简单的GET请求!
  4. JSF通过此GET(包含查询字符串)导航到目标URL。 不需要faces-redirect = true。

案例6 –为了更好地理解

index.xhtml页面中,我们有:

<f:metadata><f:viewParam name="playernameparam" value="#{playersBean.playerName}"/>           <f:viewParam name="playersurnameparam" value="#{playersBean.playerSurname}"/>
</f:metadata><h:form>Enter name:<h:inputText value="#{playersBean.playerName}"/>Enter surname:<h:inputText value="#{playersBean.playerSurname}"/><h:commandButton value="Send" action="results?faces-redirect=true&includeViewParams=true"/>                 
</h:form>

results.xhtml页面中,我们有:

<f:metadata><f:viewParam name="playernameparam" value="#{playersBean.playerName}"/>           <f:viewParam name="playersurnameparam" value="#{playersBean.playerSurname}"/>
</f:metadata>You requested name: <h:outputText value="#{playersBean.playerName}"/><br/>
You requested surname: <h:outputText value="#{playersBean.playerSurname}"/>

PlayersBean我们有:

@Named
@RequestScoped
public class PlayersBean {private String playerName;     // this is nullprivate String playerSurname;  // this is null...
}

当应用程序到达index.xhtml时会发生什么? (无查询字符串)

  1. 没有请求参数。 因此,无法从查询字符串初始化视图参数。 view参数在bean中也没有设置任何内容!
  2. 渲染视图(生成HTML标记并将其发送到浏览器),您可以看到两个空文本输入(这些是评估#{playersBean.playerName}#{playersBean.playerSurname} )。 您不能期望看到文本,为空!
  3. 作为用户,请勿在这些文本输入中键入任何内容,然后按“ Send按钮。 实际上,您将提交表单(属于<h:form> </h:form>界定的部分的数据)。 因此,将提交名称和姓氏(它们是空白),并覆盖/初始化模型中的当前值。 在对视图进行编码(渲染)期间,JSF还将针对PlayersBean托管bean对视图参数进行编码(将获得空白)。
  4. 此外,JSF注意到您想要在导航到下一个目标页面( results.xhtml )之前附加视图参数(将其表示为: ?faces-redirect=true&amp;includeViewParams=true )。 在此请求的前面,已经根据PlayersBean托管bean评估了视图参数。 因此,JSF处理视图参数,并将根据视图参数名称和值计算出的相应查询字符串附加到操作URL。
  5. JSF导航到目标URL(现在包含查询字符串)。 这是可见的,多亏了faces-redirect=true

http://localhost:8080/.../results.xhtml?playernameparam=&playersurnameparam=

注意playernameparamplayersurnameparam!的值playersurnameparam! 由于您已提交空白区域,因此您将看到。 当然,这看起来“丑陋”且非常无用。 也许您更喜欢将空白视为null值。 为此,您可以在web.xml设置以下上下文参数:

<context-param><param-name>javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</param-name><param-value>true</param-value>
</context-param>

现在,清理并构建应用程序,然后在相同的情况下再次运行它。 这次,当您按
发送按钮,您会注意到此链接:

  • http:// localhost:8080 / ch2_6 / faces / results.xhtml

因此,没有查询字符串反映了视图参数的存在! 好吧,您只是指示JSF将提交的空字符串视为null值。 但是,正如您所知,附加视图参数后,“ null值”将被“忽略”。

注意

附加视图参数的方式可以在Mojarra的com.sun.faces.application.view.MultiViewHandler看到。 特别是在:

// Mojarra 2.2.9, MultiViewHandler#addViewParameters()
protected void addViewParameters(FacesContext ctx,String viewId,Map<String,List<String>> existingParameters) {UIViewRoot currentRoot = ctx.getViewRoot();String currentViewId = currentRoot.getViewId();Collection<UIViewParameter> toViewParams = Collections.emptyList();Collection<UIViewParameter> currentViewParams;boolean currentIsSameAsNew = false;currentViewParams = ViewMetadata.getViewParameters(currentRoot);if (currentViewId.equals(viewId)) {currentIsSameAsNew = true;toViewParams = currentViewParams;} else {ViewDeclarationLanguage pdl = getViewDeclarationLanguage(ctx, viewId);ViewMetadata viewMetadata = pdl.getViewMetadata(ctx, viewId);if (null != viewMetadata) {UIViewRoot root = viewMetadata.createMetadataView(ctx);toViewParams = ViewMetadata.getViewParameters(root);}}if (toViewParams.isEmpty()) {return;}for (UIViewParameter viewParam : toViewParams) {String value = null;// don't bother looking at view parameter if it's been overriddenif (existingParameters.containsKey(viewParam.getName())) {continue;}if (paramHasValueExpression(viewParam)) {value = viewParam.getStringValueFromModel(ctx);}if (value == null) {if (currentIsSameAsNew) {value = viewParam.getStringValue(ctx);} else {value = getStringValueToTransfer(ctx, viewParam, currentViewParams);}}// SO, IF VALUE IS NULL, DON'T CONSIDER THIS A VIEW PARAMif (value != null) {List<String> existing = existingParameters.get(viewParam.getName());if (existing == null) {existing = new ArrayList<String>(4);existingParameters.put(viewParam.getName(), existing);}existing.add(value);}}
}

翻译自: https://www.javacodegeeks.com/2015/11/how-view-parameters-are-obtainedattached-fromto-the-url-query-string-examples.html

字符串url获取参数

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql和sqlserver分页的区别_关于SQLServer和MySQL 查询分页语句区别

首先来定义几个要用到的参数(例子)t_user数据表int currentPage ; //当前页int pageRecord ; //每页显示记录数关于SqlServer数据库分页SQL语句为:String sql "select top "pageRecord " * from t_user where id not in (select top "(currentPage-1)*pag…

java 微型数据库_Java 9代码工具:使用Java微型基准测试工具的实践会话

java 微型数据库用肉眼看&#xff0c;基准测试似乎只是确定执行某些代码需要花费多长时间的简单问题。 但是&#xff0c;通常情况下&#xff0c;这是幼稚的方法。 提供具有准确和可重复结果的有意义的基准并非易事。 在本文中&#xff0c;我们将向您介绍OpenJDK代码工具项目&a…

mysql快速随机_MySQL随机取数据最高效的方法

mysql随机取数据最高效率的方法发现在SQL语句里有一个 ORDER BY rand() 这样的一个语句&#xff0c;这个说是用着方便&#xff0c;但是效率实在是太低了&#xff0c;于是我用了以下的方法来优化&#xff0c;就是用JOIN表的方法来达到这个取随机数据行的方法&#xff0c;你可以用…

部署被测软件应用和中间件_使用FlexDeploy对融合中间件应用程序进行自动化软件测试...

部署被测软件应用和中间件自动化软件测试是任何软件组织都必须执行的强制性活动之一&#xff0c;以保证其产品质量。 但是&#xff0c;此过程通常变得相当复杂&#xff0c;尤其是涉及由多个不同部分组成的现代复杂系统的自动化测试时。 所有这些部分都基于不同的技术&#xff0…

python batch_size_python 實現動態 batch size,多張圖片如何堆疊轉成指針

前陣子有發問&#xff0c;關於 python 動態 batch size 如何實現&#xff0c;目前解決之前問題現在遇到的問題是當我把兩張圖片直接用 numpy concat 堆疊在一起 進行 acl.util.numpy_to_ptr 轉換成指針進行推理後&#xff0c;得到的結果只有第一張圖片是對的&#xff0c;第二張…

投行数据_投行对Java的二十大核心访谈问答

投行数据这是在金融领域&#xff08;主要是在大型投资银行&#xff09;共享Java核心访谈问题和答案的新系列。 在JP Morgan&#xff0c;Morgan Stanley&#xff0c;Barclays或Goldman Sachs上会问许多这些Java面试问题。 银行主要从多线程 &#xff0c; 集合 &#xff0c;序列化…

php中mysql_fetch_row_php中的mysql_fetch_row,mysql_fetch_array,mysql_fetch_object

1.mysql_fetch_rowmysql_fetch_row&#xff0c;这个函数是从结果集中取一行作为枚举数据&#xff0c;从和指定的结果标识关联的结果集中取得一行数据并作为数组返回。每个结果的列储存在一个数组的单元中&#xff0c;偏移量从 0 开始。 注意&#xff0c;这里是从0开始偏移&…

primefaces_通过OmniFaces缓存组件以编程方式缓存PrimeFaces图表

primefaces在这篇文章中&#xff0c;您将看到如何结合PrimeFaces和OmniFaces获得可缓存的图表。 为了使事情变得简单&#xff0c;我们将使用PrimeFaces 折线图。 对于这种图表&#xff0c;我们可以在页面中使用<p&#xff1a;chart />标签和一个简单的托管bean。 因此&am…

mysql开发问题解决_开发过程中mysql常见问题的解决方法

本篇文章给大家带来的内容是关于开发过程中mysql常见问题的解决方法&#xff0c;有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对你有所帮助。记录开发过程中遇到mysql相关的问题以及解决方法&#xff0c;长期更新。远程连接问题mysql默认连接只能给本…

javaone_JavaOne 2015继续进行,Java将永远存在(……也许是长篇大论)

javaone好的。 也许我的标题太夸张了。 我确实相信Java&#xff0c;生态系统&#xff0c;社区&#xff0c;虚拟机和母编程语言将会存在很长一段时间。 有什么可以偏离的&#xff1f; 假定在我的酒店房间中花费很多时间&#xff0c;在我的演讲中增加技巧之间&#xff0c;我认为…

hmailserver mysql密码_第二步:点晴MIS系统Email模块hMailServer数据库连接配置指引

点击&#xff1a;windows系统-》开始-》所有程序-》hmailserver-》hMailServer Database Setup&#xff0c;在弹出的对话框中输入默认管理密码“clicksun2010”&#xff0c;进入后按照以下步骤操作&#xff1a;输入登陆密码&#xff1a;clicksun2010&#xff0c;务必使用这个密…

spring3.0异步_在Spring 4.2中更简单地处理异步事务绑定事件

spring3.0异步介绍 如您可能已经知道的&#xff08;例如&#xff0c;从我以前的博客文章中 &#xff09;&#xff0c;不再需要创建一个单独的类来实现带有onApplicationEvent方法的ApplicationListener &#xff0c;以便能够对应用程序事件做出响应&#xff08;包括来自Spring …

java 插入mysql 日期_Java日期-插入数据库

我需要找出一种将带有java.util.Date字段的记录插入数据库的方法&#xff0c;但我陷入了困境。有谁知道我该怎么做&#xff1f;现在我有类似的东西。java.util.Date myDate new java.util.Date("01/01/2009");sb.append("INSERT INTO USERS");sb.append(&…

jboss fuse 教程_JBoss Fuse –使用MVEL将您的静态配置转换为动态模板

jboss fuse 教程最近&#xff0c;我重新发现了我已经忘记的JBoss Fuse功能&#xff0c;并且我认为其他人可能会从此提醒中受益 。 这篇文章将重点放在JBoss Fuse和Fabric8上&#xff0c;但所有正在寻找最小侵入性方法来为其静态配置文件添加一定程度的动态支持的开发人员也可能…

mysql客户库_你应该知道的10个MySQL客户启动选项

大部分服务器管理员知道MySQL数据库管理系统(RDBMS)是高度灵活的软件块&#xff0c;带有范围广阔的启动选项&#xff0c;可以用来修改相关行为。然而&#xff0c;大部分人却不清楚&#xff0c;标准MySQL客户端带有同等大量的启动选项&#xff0c;其中一些在日常MySQL交互作用中…

java实现ldap服务器_Java到LDAP教程(包括如何安装LDAP服务器/客户端)

java实现ldap服务器本教程将向您展示如何编写Java代码以与LDAP交互。 但是在执行此操作之前&#xff0c;我们需要在计算机上设置LDAP服务器和客户端。 如果此时您不确定到底是什么LDAP&#xff0c;建议您使用这篇文章&#xff0c;其中提供了一个很好的定义示例。 &#xff08;…

java 程序增加 防盗_防盗Java EE –保护Java EE企业应用程序的安全

java 程序增加 防盗redev离我们仅有几天的路程&#xff0c;我受邀作了两次演讲。 其中之一是关于我最喜欢的主题&#xff1a;安全性和Java EE。 它旨在实现两个目标。 一方面向典型的Java EE开发人员介绍整个应用程序安全过程和主要目标。 而且还要查看有关Java EE在满足典型需…

php对mysql基础操作_php+mysql的基础操作

标签&#xff1a;PHP可以说是当下很火的一门后端语言了,它小巧玲珑,和html等前端语言配合的可以说是天衣无缝,加之xampp,wampp等工具的出现,更是前端开发者的福音,作为一名前端ER,如果不熟悉一门后端语言的话,那简直都不好意思说自己要加薪,那么我们对于php这门语言学习时,如果…

js内存泄露 垃圾回收_Java内存体系结构(模型),垃圾回收和内存泄漏

js内存泄露 垃圾回收Java内存架构&#xff08;Java内存模型&#xff09; 上面是堆的Java内存模型以及Java虚拟机&#xff08;JVM&#xff09;中运行的任何Java应用程序的PermGen。 还提供了比率&#xff0c;以使您更好地了解如何在每种生成类型之间分配允许的内存。 以上所有内…

qlineedit文本改变时_PyQt5 QLineEdit(单行编辑器) 学习

QLineEdit is a widget that allows to enter and edit a single line of plain text. There are undo and redo, cut and paste, and drag & drop functions available for the widget.代码&#xff1a;# codingutf-8from PyQt5.QtWidgets import QApplication, QWidget,\…