我们都知道 Java 中的 String 类的设计是不可变的,来看下 String 类的源码。...其值 value 也就是对字符数组的封装,即 char[],其值被定义成 private final 的,说明不能通过外界修改,即不可变。 String 真的 "不可变 " 吗? 来看下面这个例子。...这其实是初学者的一个误区,从上面看 String 的结构可以得知字符串是由字符数组构成的,str 只是一个引用而已,第一次引用了 "Python",后面变成了 "Java",而 substring 也是用...关于 substring 在 JDK 各个版本的差异可以看这篇文章《注意:字符串substring方法在jkd6,7,8中的差异》,也可以去看 substring 的各个版本的源码。...String 真的真的真的 "不可变 " 吗? 上面的例子肯定是不可变的,下面这个就尴尬了。
我们都知道 Java 中的 String 类的设计是不可变的,来看下 String 类的源码。 ? 可以看出 String 类是 final 类型的,String 不能被继承。...其值 value 也就是对字符数组的封装,即 char[],其值被定义成 private final 的,说明不能通过外界修改,即不可变。 String 真的 "不可变 " 吗? 来看下面这个例子。...Java中的String真的是不可变吗? 所以说,这里的字符串并不是可变,只是变更了字符串引用。...关于 substring 在 JDK 各个版本的差异可以看这篇文章《注意:字符串substring方法在jkd6,7,8中的差异》,也可以去看 substring 的各个版本的源码。...String 真的真的真的 "不可变 " 吗? 上面的例子肯定是不可变的,下面这个就尴尬了。 ?
(在Tkinter中窗口部件类没有分级;所有的窗口部件类在树中都是兄弟。)...grid组件使用行列的方法放置组件的位置,参数有: column: 组件所在的列起始位置; columnspam: 组件的列宽; row: 组件所在的行起始位置... 可变文本,与StringVar等配合着用6、文本框tkinter.Entry,tkinter.Text控制参数background(bg) 文本框背景色;foreground(...文本框宽度textvariable 可变文本,与StringVar等配合着用 Entry启用验证功能开关是vaildate “focus” 当Entry组件获得或失去焦点的时候去验证... 组件中多行文本的对齐方式;text 指定组件的文本;value 指定组件被选中中关联变量的值;variable 指定组件所关联的变量
目录 使用Tkinter构建你的第一个Python GUI应用程序 添加小部件 小测验 使用小部件 使用标签小部件显示文本和图像 显示带有按钮小部件的可点击按钮 通过条目小部件获取用户输入 通过文本小部件获取多行用户输入...使用.bind() 使用命令 小测验 温度转换器 文本编辑器 总结 Python有很多GUI框架,但是Tkinter是Python标准库中唯一内置的框架。...对于每一列和每一行,该minsize参数均设置75为50。这样可以确保Label小部件始终显示其文本而不会截断任何字符,即使窗口大小非常小也是如此。...小测验 练习:创建地址输入表单显示隐藏 下面是使用Tkinter制作的地址输入表单的图像。...小部件,从华氏其转换为摄氏度,并设置文本Label当点击小工具的结果 你可以将它们排列在一个网格中,每个小部件的一行和一列。
今天这课将学习Entry和Text窗口部件,Entry单行文本输入框,Text多行文本输入框。文本框通常用来获取我们输入的一个内容。 比如下面这个反馈表单就用到这样的两个部件。 ? ?...1.创建一个Entry部件 代码: from tkinter import * #创建一个主窗口 root = Tk() # 创建 宽200高200的窗口 x是小写的英文字符 root.geometry...2.创建一个Text部件 代码: from tkinter import * #创建一个主窗口 root = Tk() # 创建 宽200高200的窗口 x是小写的英文字符 root.geometry...代码: from tkinter import * #创建一个主窗口 root = Tk() # 创建 宽200高250的窗口 x是小写的英文字符 root.geometry('200x250') label1...4.实现功能 代码: from tkinter import * import tkinter.messagebox #创建一个主窗口 root = Tk() # 创建 宽200高250的窗口 x是小写的英文字符
(在Tkinter中窗口部件类没有分级;所有的窗口部件类在树中都是兄弟。) ...grid组件使用行列的方法放置组件的位置,参数有: column: 组件所在的列起始位置; columnspam: 组件的列宽; row: ...可变文本,与StringVar等配合着用 6、文本框tkinter.Entry,tkinter.Text控制参数: background(bg) 文本框背景色; foreground... 状态; width 文本框宽度 textvariable 可变文本,与StringVar等配合着用 7、标签tkinter.Label...; image 组件中的图片; font 字体; justify 组件中多行文本的对齐方式; text
显示控件 代码: from tkinter import * import tkinter.messagebox #创建一个主窗口 root = Tk() # 创建 宽400高250的窗口 x是小写的英文字符...功能实现 接下来实现一个小案例,通过控制两个scale部件,实现对label的字体大小和内容的改变。...第一步:部件布局 代码: from tkinter import * import tkinter.messagebox #创建一个主窗口 root = Tk() # 创建 宽400高250的窗口 x是小写的英文字符...同时要注意这种方法获取的是数字类型,所以设置文本值时还需要使用str将类型进行转换。 ?...代码: from tkinter import * import tkinter.messagebox #创建一个主窗口 root = Tk() # 创建 宽400高250的窗口 x是小写的英文字符 root.geometry
本篇文章小编就分享一些python GUI 编程的基础,后续还会更新一些更深层次的技巧。...通过上述代码,可以得到一个空窗口; 可以手动为窗口添加属性,最基本的几种属性如下: title() 括号里面参数为代表窗口名称的字符串; resizable(x,y) 窗口可以在 x和y轴上可变化的调度...常见的组件如下: Button 按钮; Canvas 绘图形组件,可以在其中绘制图形; Checkbutton 复选框; Entry 文本框(单行); Text 文本框(多行); Frame 框架,将几个组件组成一组...; Radiobutton 单选框; Scale 滑块;允许通过滑块来设置一数字值 Scrollbar 滚动条; 配合使用canvas, entry, listbox, and text窗口部件的标准滚动条...(50,50) #窗口创建好后即可开始添加组件 Lal = Label(window, text=’你喜欢python吗?’
本篇文章小编就分享一些python GUI编程的基础,后续还会更新一些更深层次的技巧。...图1 空窗口 可以手动为窗口添加属性,最基本的几种属性如下: title()括号里面参数为代表窗口名称的字符串; resizable(x,y) 窗口可以在x和y轴上可变化的调度; geometry(... 文本框(单行); Text 文本框(多行); Frame 框架,将几个组件组成一组 Label ...Scrollbar 滚动条;配合使用canvas, entry, listbox, and text窗口部件的标准滚动条; Toplevel 用来创建子窗口窗口组件...(50,50) #窗口创建好后即可开始添加组件 Lal = Label(window, text='你喜欢python吗?'
本节课将要学习Listbox窗口部件,Listbox是列表框的意思,那什么时候该用Listbox部件呢?列表框用于从一组文本项中进行选择。根据列表框的配置方式,用户可以从列表中选择一个或多个项。...创建一个列表框 代码: from tkinter import *import tkinter.messagebox#创建一个主窗口root = Tk()# 创建 宽400高250的窗口 x是小写的英文字符...代码: from tkinter import *import tkinter.messagebox#创建一个主窗口root = Tk()# 创建 宽400高250的窗口 x是小写的英文字符root.geometry...代码: from tkinter import *import tkinter.messagebox#创建一个主窗口root = Tk()# 创建 宽400高250的窗口 x是小写的英文字符root.geometry...代码: from tkinter import *import tkinter.messagebox#创建一个主窗口root = Tk()# 创建 宽400高250的窗口 x是小写的英文字符root.geometry
我们编写的Python代码会调用内置的Tkinter,Tkinter封装了访问Tk的接口; Tk是一个图形库,支持多个操作系统,使用Tcl语言开发; Tk会调用操作系统提供的本地GUI接口,完成最终的...GUI; tkinter库简介 python内置的GUI库,只要安装好 Python 环境之后就能 import tkinter 库; 基于Tk工具包,该工具包最初是为TCL设计的,后被应用到多种脚本语言中...Scrollbar 滚动条 对其支持的组件(文本域、画布、列表框、文本框)提供滚动功能 Text 文本域 多行文字区域,可用来收集(或显示)用户输入的文字(类似 HTML 中的 textarea) ScrolledText...设置跨行数量,控件实例所跨的行数,默认为 1 行,通过该参数可以合并一列中多个领近单元格 column 设置列数 columnsapn 设置跨列数量,控件实例所跨的列数,默认为 1 列,通过该参数可以合并一行中多个领近单元格...,默认值是 NW x、y 定义控件在根窗体中水平和垂直方向上的起始绝对位置,(单位为像素),绝对定位 height、width 控件自身的高度和宽度(单位为像素),绝对定位 relx 设置距离左上角的水平长度百分比
---- java.lang.String真是不可变的吗?在java11中,反射能修改值 ---- 反射修改string,导致string内容改变。...; System.out.println(a.hashCode()); System.out.println(b.hashCode()); } } 反射修改的关键是...access operations WARNING: All illegal access operations will be denied in a future release 我们这种反射修改字符串内部的数据是不合法的...java.lang.String真是不可变的吗?...在java17中,反射就不能修改值 ---- java17下运行的结果: ⚠️java17中反射就不能修改值,java17中,不再已警告日志输出,而是直接异常输出控制台,再次抛出异常,我们的代码不能运行了
在 Python 中,我们可以使用 Tkinter 制作 GUI。如果你非常有想象力和创造力,你可以用 Tkinter 做出很多有趣的东西。...在这里,我们将使用 Tkinter 制作一个 Python 日历 GUI 应用程序。在这个应用程序中,用户必须输入你想要查看日历的年份,然后日历才会出现。...使用 Tkinter 的 日历 GUI 应用程序 本文章为系列文章,共三个 python 入门项目。初学者可以尝试实现这些项目,并在 Python 编译环境中动手操作。...此函数向我们显示输入年份的完整日历。 现在,我们还需要调整日历中的小部件,为此我们定义了网格中所有内容的位置。您可以通过更改网格行和列参数来探索更多内容。...第五步:输出日历 GUI 虽然样式丑了些,但是作为新手做出这样的小程序还是有点成就感的。 原文链接:https://juejin.cn/post/7011800472663097380
() # StringVar是Tk库内部定义的字符串变量类型,在这里用于管理 #部件上面的字符;不过一般用在按钮button上。...(column=0, row=1) # 设置其在界面中出现的位置 nameEntered.focus() # 当程序运行时,光标默认会出现在该文本框中 # 一个下拉列表 number = tk.StringVar...=0, row=4, sticky=tk.W) # sticky=tk.W 当该列中其他行或该行中的其他列的 #某一个功能拉长这列的宽度或高度时,设定该值可以保证本行保持左对齐, #N:北/上对齐 S:...】填坑 解决Entry、Label不能修改text、image等属性的问题 tkinter中定义一个输入,如: input =Entry(root).pack() 不等于以下定义 input =...以上这篇python tkinter之 复选、文本、下拉的实现就是小编分享给大家的全部内容了,希望能给大家一个参考。
在 Python 中,我们可以使用 Tkinter 制作 GUI。如果你非常有想象力和创造力,你可以用 Tkinter 做出很多有趣的东西。...在这里,我们将使用 Tkinter 制作一个 Python 日历 GUI 应用程序。在这个应用程序中,用户必须输入你想要查看日历的年份,然后日历才会出现。...此函数向我们显示输入年份的完整日历。 现在,我们还需要调整日历中的小部件,为此我们定义了网格中所有内容的位置。您可以通过更改网格行和列参数来探索更多内容。...第五步:输出日历 GUI 虽然样式丑了些,但是作为新手做出这样的小程序还是有点成就感的。 wuhu ! 起飞 !...后面将会带着大家制作的Python小程序: 使用 Python 将图像转换为铅笔素描 我已经写了很长一段时间的技术博客,并且主要通过CSDN发表,这是我的一篇 python 小程序教程。
tkinter 根窗体root: 根窗体是图像化应用程序的根控制器,是tkinter的底层控件的实例。...这些控件通常被称为控件或者部件。目前有15种Tkinter的部件。 Button 按钮控件;在程序中显示按钮。...,多用来作为容器 Label 标签控件;可以显示文本和位图 Listbox 列表框控件;在Listbox窗口小部件是用来显示一个字符串列表给用户 Menubutton 菜单按钮控件,用于显示菜单项。...() Python Tkinter 文本组件 (Text) 上表位置的取值可为整数,浮点数或END(末尾),例如0.0表示第0列第0行 from tkinter import * import time...,width=200) root.mainloop() Wxpython Wxpython这个是我最后采用的gui库,倒不是因为有多大去别,主要是我找到了一个自动生成Wxpython的代码段的小程序,
from tkinter import * #创建一个主窗口 root = Tk() # 创建 宽400高250的窗口 x是小写的英文字符 root.geometry('400x250') v =...from tkinter import * #创建一个主窗口 root = Tk() # 创建 宽400高250的窗口 x是小写的英文字符 root.geometry('400x250') # 给label...创建一个文本变量,设置初始内容为 结果 s=StringVar() s.set("结果") # 定义一个函数,将label的值设置为单选框的值 def change_value(): value...3.选出你最喜欢的水果 from tkinter import * import tkinter.messagebox #创建一个主窗口 root = Tk() # 创建 宽400高250的窗口 x是小写的英文字符...("提示",'你最喜欢的水果是'+value) # 设置红色背景的标签 Label(root, text="你最喜欢的水果是?").
python 可以通过 tkinter, pyqt5或者pyside2等工具库实现界面设计。 比如 tkinter 是 python 自带的工具库,不需要安装就可以使用。...---- 平常使用时,只需要掌握基本的输入控件(单行文本框,多行文本框), ? 输出显示控件(标签控件,列表框控件,消息弹窗) ? ? ? 以及按钮控件的基本使用,就能够解决绝大多数的界面设计了。...# 对话框 #是/否,返回值yes/no tkinter.messagebox.askquestion('提示', '确定要登录吗') #确定/取消,返回值true/false tkinter.messagebox.askokcancel...#是/否,返回值true/false tkinter.messagebox.askyesno('提示', '确定保存密码吗?')...---- 弹窗,按钮,标签联动 from tkinter import * # tkinter的消息框是由tkinter.messagebox 单独提供的 # 所以导入的时候一定得加上一行import
,标签只不过是需要在窗口上显示的输出,在例子中是 hello world Tkinter Widgets 那么到底什么是 Widgets 呢 Widgets 类似于 HTML 中的元素,我们可以在...Widgets 的用法 Label 标签用于创建文本和图像以及所有相关的,而且要注意的是,它只能是单行定义 l1 = Label(window, text="萝卜大杂烩!"...我们定义了一个名为 clicked 的函数,可以显示一条文本消息,我们在按钮定义中添加一个名为 command 的参数,来调用点击事件 Entry 它用于在 GUI 中创建输入字段以接收文本输入 txt...Entry 类创建一个文本框,grid 定义我们希望窗口小部件位于何处 同时 clicked 函数接收 Entry 的文本信息 Combobox 这是一个带有某些选项的下拉菜单 from tkinter.ttk...给我们范围的上限阈值 width – 基本上是将 widget 的大小设置为5个字符的空格 Geometry Tkinter 中的所有 Widgets 都会有一些位置信息,这些度量使得我们可以组织 Widgets
前言 python中通常我们写程序,显示结果和操作都是在终端区,如果要想实现一个有显示界面的程序那该怎样实现呢?...python中有好几个库都可以实现,这个系列我们一起来学习如何使用python自带的tkinter库来实现。...本节课将要学习Checkbutton窗口部件,Checkbutton又叫复选框,那什么时候该用复选框呢?通常是在两个不同值之间选中或者不选中,一组按钮就可以实现很多值的一个选择。...代码: from tkinter import * #创建一个主窗口 root = Tk() # 创建 宽400高250的窗口 x是小写的英文字符 root.geometry('400x250') #...2.多个复选框 代码: from tkinter import * import tkinter.messagebox #创建一个主窗口 root = Tk() # 创建 宽400高250的窗口 x是小写的英文字符
领取专属 10元无门槛券
手把手带您无忧上云