python根窗口的创建_Python接口Tkinter的GUI设计简介,界面,入门,tkinter

根窗口Tk

import tkinter as tk # 导入

window = tk.Tk() # 实例化

window.title('My Window') # 设置窗口名字

window.geometry('500x300') # 设置窗口大小

window.mainloop() #窗口循环显示

顶层Toplevel

与Frame类似,但是它包含窗体属性(如Title)

标签Label

Label:显示一个文本或图象。

大纲

1.显示文本

2.显示图像

1.显示文本

l = tk.Label(window, #标签基于window窗口

text='你好!this is Tkinter', #标签初始值

bg='green', #标签背景颜色

fg='white', #标签字体颜色

font=('Arial', 12), #标签字体与字号

width=30, height=2)#标签长高

l.pack() #放置标签

详

#标签值

#标签值常量

text='你好!this is Tkinter'

#标签值变量

textvariable=var

#其中var = tk.StringVar(),将label标签的内容设置为字符类型

#标签长高

width=30, height=2

#长和高指字符长和高,height=2,为标签有2个字符高

# 放置标签

l.pack()

l.place()

#有两种,区别是:

2.显示图像

按钮Button

Button:包含文本或图象。按钮关联Python函数或方法。当按钮按下,调用相关联的函数或方法。

大纲

1.文本按钮

2.图像按钮

b = tk.Button(window, #按钮基于window窗口

text='hit me', #按钮初始值

font=('Arial', 12), #按钮字体和字号

width=10, height=1, #按钮长高

command=hit_me) #按钮关联的函数

b.pack() #放置按钮

详

#按钮关联的函数

command

#调用函数写法def hit_me():

bind

#调用函数写法def hit_me(even):

#使用方法:窗体对象.bind(事件类型,回调函数)

t=Label(window, text='标签')

t.bind(, hit_me) # 鼠标左键点击时调用函数

#事件类型

#表示鼠标左键单击

#表示鼠标中键单击

#表示鼠标右键单击

#表示A键被按下

#表示按下Ctrl和V键

#表示按下的是F1键

单行文本框Entry

e = tk.Entry(window,

show=None, # 显示成明文形式

#show='*', # 显示成密文形式

font=('Arial', 14)) #文本框字体字号

e.pack() #放置文本框

多行文本框Text

t = tk.Text(window, height=3)

t.pack()

#文本框值的显示

var = entry.get() #获得单行文本框内值

var = text.get('i.j', 'end')#获得多行文本框内值(从i行j列开始,0.0)

t.insert('insert', var) #文本框光标处传入var值

t.insert('end', var) #文本框最后处传入var值

e2.delete(0,'end') #清除单行文本框内容

t2.delete('0.0','insert') #清除多行文本框内容

滚动文本框

text与scroll结合

#需要引入模块

from tkinter import scrolledtext

#scrolledtext.ScrolledText像Text一样使用即可

菜单Menu

#创建菜单

menubar = tk.Menu(window)

# 创建menubar子菜单栏1filemenu

filemenu = tk.Menu(menubar, tearoff=0)

# 菜单menubar添加子菜单,子菜单为filemenu,名称定为'File'

menubar.add_cascade(label='File', menu=filemenu)

# 子菜单filemenu添加触发单元,触发单元触发do_job函数,名称定为New、Open、Save

filemenu.add_command(label='New', command=do_job)

filemenu.add_command(label='Open', command=do_job)

filemenu.add_command(label='Save', command=do_job)

# 创建filemenu子菜单栏submenu

submenu = tk.Menu(filemenu, tearoff=0)

# 菜单filemenu添加子菜单,子菜单为submenu,名称定为Import'

filemenu.add_cascade(label='Import', menu=submenu)

# 子菜单submenu添加触发单元,触发单元触发do_job函数,名称定为'Submenu_1'

submenu.add_command(label='Submenu_1', command=do_job)

#放置菜单

window.config(menu=menubar)

框架Frame

# 创建主frame,基于window窗口

frame = tk.Frame(window)

frame.pack()

# 创建次frame,基于frame

frame_l = tk.Frame(frame)

frame_r = tk.Frame(frame)

frame_l.pack(side='left')

frame_r.pack(side='right')

弹窗messageBox

import tkinter.messagebox # 要使用messagebox先要导入模块

tkinter.messagebox.showinfo(title='Hi', message='你好!') # 提示信息对话窗

tkinter.messagebox.showwarning(title='Hi', message='有警告!') # 提出警告对话窗

tkinter.messagebox.showerror(title='Hi', message='出错了!') # 提出错误对话窗

print(tkinter.messagebox.askquestion(title='Hi', message='你好!')) # 询问选择对话窗return 'yes', 'no'

print(tkinter.messagebox.askyesno(title='Hi', message='你好!')) # return 'True', 'False'

print(tkinter.messagebox.askokcancel(title='Hi', message='你好!')) # return 'True', 'False'

import tkinter.messagebox # 要使用messagebox先要导入模块

def hit_me():

tkinter.messagebox.showinfo(title='Hi', message='你好!') # 提示信息对话窗

# tkinter.messagebox.showwarning(title='Hi', message='有警告!') # 提出警告对话窗

# tkinter.messagebox.showerror(title='Hi', message='出错了!') # 提出错误对话窗

# print(tkinter.messagebox.askquestion(title='Hi', message='你好!')) # 询问选择对话窗return 'yes', 'no'

# print(tkinter.messagebox.askyesno(title='Hi', message='你好!')) # return 'True', 'False'

# print(tkinter.messagebox.askokcancel(title='Hi', message='你好!')) # return 'True', 'False'

# 按钮触发

tk.Button(window, text='hit me', bg='green', font=('Arial', 14), command=hit_me).pack()

三种放置方式pack/grid/place

基于A的控件B1默认居中于A顶部

基于A的控件B2默认居中于A顶部,在B1下方

控件位置由pack()决定

B1.pack(side=‘left’) B1在A最左侧

B2.pack(side=‘right’)B2在A最右侧

1. 方格Grid

for i in range(3):

for j in range(3):

tk.Label(window, text=1).grid(row=i, column=j, padx=10, pady=10, ipadx=10, ipady=10)

以上的代码就是创建一个三行三列的表格,其实 grid 就是用表格的形式定位的。这里的参数 row 为行,colum 为列,padx 就是单元格左右间距,pady 就是单元格上下间距,ipadx是单元格内部元素与单元格的左右间距,ipady是单元格内部元素与单元格的上下间距。

button1.grid(row=2, column=0, sticky=W)

sticky=W指靠西方位,即左

2. Pack

上下左右排列

tk.Label(window, text='P', fg='red').pack(side='top') # 上

tk.Label(window, text='P', fg='red').pack(side='bottom') # 下

tk.Label(window, text='P', fg='red').pack(side='left') # 左

tk.Label(window, text='P', fg='red').pack(side='right') # 右

3. Place

给精确的坐标来定位,如此处给的(50, 100),就是将这个部件放在坐标为(x=50, y=100)的这个位置, 后面的参数 anchor=‘nw’,就是前面所讲的锚定点是西北角。

tk.Label(window, text='Pl', font=('Arial', 20), ).place(x=50, y=100, anchor='nw')

显示与隐藏

控件

widget.pack() #显示

widget.pack_forget() #隐藏

窗口

window.withdraw() #隐藏

window.destroy() #关闭

window.update() #显示中可有可无

window.deiconify() #显示

通过控件、容器的不断关闭显示,实现主窗口中页面的载入。

局部变量变全局变量

global x

Python图形界面GUI程序设计 1、GUI是什么? 图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。 图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。与通过键盘输入文本或字符命令来完成例行任务的字符界面相比,图形用户界面有许多优点。图... 阅读详情

相关推荐

【Python Gui】Tkinter 的入门学习

一、前面的话 Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下: Tkinter:Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多数的 Unix 平台下使用,同样可以应用在 Windows 和 Macintosh 系统里。Tk8.0 的后续版本可以实现本地窗口风格,并良好地运行在...

梦想专栏 1万+

delphi 登录界面 主窗体 切换_Python GUI项目实战(二)主窗体的界面设计与实现

前言上一节我们介绍了Python GUI项目实战(一)登录窗体的设计与实现,实现了该项目登录窗体的GUI的搭建,用户的账号和密码校验完成后应当跳转到主窗体界面,这一节我们将具体介绍主窗体界面的设计与功能实现!一、基础界面设计我们新建一个900x640的窗口,顶部加入图片,下面主体部分创建两个Panedwindow容器,左边添加按钮,右边作为TreeView显示界面;fromtkinterimp...

weixin_39915267的博客 1454

python界面设计实例-【Python】Tkinter图形界面设计(GUI)

简介作为 Python 开发者,图形用户界面(GUI)开发是必备技能之一。目前,市面上支持Python 的“GUI 工具包”很多,各有特点,虽然大多数工具包的基础类似,但要学习一个新包并掌握其细节还是非常耗时的,因此,在选用工具包时应仔细权衡。本文将介绍Python 自带的 GUI 工具包 TKinter。TKinterPython 的 GUI 库非常多,之所以选择 Tkinter,一是最为简单,...

weixin_37988176的博客 8914

Python GUI 设计(一)———Tkinter窗口创建、组件布局

Python GUI 设计Tkinter———窗口创建、组件布局

lyx4949的博客 3万+

Python GUI之tkinter窗口视窗教程大集合(看这篇就够了)

title: Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) top: true cover: true toc: true mathjax: false date: 2019-08-16 15:36:09 author: 洪卫 img: /medias/banner/6.jpg coverImg: /medias/banner/4.jpg password: summa...

sunhwee的博客 2366

【Python与GUI开发】Tkinter入门

Tkinter 是 Python 的标准 GUI(图形用户界面)工具包,它提供了创建桌面应用程序所需的基础构件。作为 Python 的内置库,Tkinter 不仅易于学习,而且功能强大,足以应对大多数日常 GUI 开发需求。Tkinter 是基于 Tk GUI 工具包的 Python 接口,而 Tk 是一个强大的、跨平台的 GUI 构建库,最初是为 Tcl 语言设计的。Python 的 Tkinter 模块提供了几乎全面的 Tk 功能访问,使得 Python 开发者能够利用这个强大工具包的几乎所有功能。

4.0啊的博客 1531

Python GUI编程(Tkinter)

Python GUI编程(Tkinter) Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下: Tkinter: Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多数的 Unix 平台下使用,同样可以应用在 Windows 和 Macintosh 系统里。Tk8.0 的后

creda的博客 5360

Python Tkinter 之窗口创建与布局(Python GUI 系列1)

Python Tkinter 之窗口创建与布局(Python GUI 系列1) 1. 序言 本文是Python GUI系列的第一篇文章,整个系统约20篇博客,将全面的介绍Python Tkinter常用控件,最后还将基于Tkinter搭建两个比较完整的小项目。 做为Python开发者,用户图形界面(GUI)是开发是必备技能之一。目前,市面上支持Python的“GUI工具包”...

Jin_Kwok的博客 1万+

Python GUI编程(Tkinter)、tk模块使用教程、窗口化创建、窗口怎么排版,对应位置放对应东西。

这篇文章为了让我自己有了更深刻的了解TK模块而写 先说说写这篇文章的前因吧,有人托我写一个塔罗牌的游戏窗口,就是想把后端程序写的窗口化看得见,经历了一晚上的摸索终于明白了Tk模块是怎么排版的。 第一次写的: 排版很乱,没有层次(这个作品我其实不好意思拿出来)大家和我一样的初学者肯定有和我一样的疑惑,拿出来好给大家对比。 第二次写的: 有了明显的区别。 那么这篇文章就来说说怎么创建tk模块排版思路 tk模块里面不是用像素来定位的,而是抽象化的表格如下图 我们看到他就是一个框,什么都没有,因为我们还没给他

贼厉害 4033

1-建立根窗口.pyw

python-GUI设计-thinker编程的代码文件,在文章中也贴有相应完整代码。若有兴趣可以观看阅读。若有建议欢迎在文章评论区指出,大家共同进步,谢谢。文章网址:https://blog.youkuaiyun.com/baidu_37611158/article/details/108084333

AxMath行间公式转化为office公式求和符号以及编号显示问题

AxMath行间公式转化为office公式求和符号以及编号显示问题问题描述解决方法 问题描述 首先打出axmath公式,如下: 转换后的OfficeMath公式: 字体先不说,word公式字体默认cambria math且无法编辑。比较难受的一点是求和符号与后面的 ai+bi2a_i+b_i^2ai​+bi2​比例不匹配啊!正常的比例应该是: (虽然也不太正常,将就下) 解决方法 点击变换后的office公式右侧,选择更改为"显示" 可以看到,多了一些软回车符号(⬇),如果你想删除它,不要直接选中

weixin_43543177的博客 4646

Python-GUI界面设计(tkinter)

GUI界面设计(tkinter)

害怕也得前进 5万+

支付宝周期扣款实战:从签约到主动扣款的完整Java代码与避坑指南

本文详细介绍了支付宝周期扣款功能的完整Java实现流程,从协议签约到主动扣款的各个环节,包括业务模型设计、签约接口实现、异步通知处理、主动扣款技术等关键步骤。针对开发中常见的陷阱和问题,提供了实用的避坑指南和代码示例,帮助开发者高效实现连续支付功能,提升用户留存率。

weixin_27199085的博客 373

【Python】Tkinter图形界面设计(GUI)

简介 作为 Python 开发者,图形用户界面(GUI)开发是必备技能之一。目前,市面上支持 Python 的“GUI 工具包”很多,各有特点,虽然大多数工具包的基础类似,但要学习一个新包并掌握其细节还是非常耗时的,因此,在选用工具包时应仔细权衡。本文将介绍Python 自带的 GUI 工具包 TKinter。 TKinterPython 的 GUI 库非常多,之所以选择 Tkint...

点滴记忆 2万+

NGSIM数据集字段解析:从车辆轨迹到交通行为分析

本文深度解析NGSIM数据集的核心字段及其在交通行为分析中的应用。详细解读了车辆时空定位、状态属性及交互关系等关键字段,并通过高速路“幽灵堵车”和城市路口左转行为两个实战案例,展示了如何利用该数据集进行微观交通行为建模与驾驶特征提取,为交通流研究和自动驾驶算法测试提供数据基础。

weixin_29172963的博客 146

保姆级教程:从 TLE 数据源获取到 Cesium 卫星轨迹可视化全流程(含常见报错排查)

本文提供从TLE数据源获取到Cesium卫星轨迹可视化的全流程保姆级教程,涵盖数据预处理、satellite.js计算、Cesium集成及性能优化等关键步骤,并针对常见报错提供详细排查方案,帮助开发者高效实现卫星轨迹可视化。

weixin_29002595的博客 295

Python GUI之tkinter窗口视窗教程大集合

Python GUI之tkinter窗口视窗教程大集合一、前言二、Tkinter是什么三、Tkinter 控件详细介绍1. Tkinter 模块元素简要说明2. 常用窗口部件及简要说明:四、动手实践学习1. 创建主窗口及Label部件(标签)创建使用2. Button窗口部件3. Entry窗口部件4. Text窗口部件5. Listbox窗口部件6. Radiobutton窗口部件7. Chec...

bangbnag的博客 1万+

A2A 协议详解:Agent Card 的设计与实现

Agent Card 是 Agent2Agent (A2A) 协议中实现智能体发现与互操作性的核心组件。本文将深入剖析 Agent Card 的设计理念、关键字段及其在智能体生态系统中的作用。我们将通过详细的 JSON Schema 解析和 Python SDK 示例,帮助您理解如何精确地定义和发布智能体能力,为构建可发现、可协作的 AI 智能体奠定基础。当您使用a2a.Agent类初始化一个智能体时,SDK 会根据您提供的参数(nameversion等)自动构建内部的 Agent Card 表示。

加入“Super Entity”,与全能开发团队共探AI智能体与数字人项目,开启前沿技术之旅。 1476

python之GUI可视化Tkinter窗口入门

做项目时,突然需要用到GUI可视化窗口来和用户互动,就即时学习了一下python自带的GUI包Tkinter,然后根据下面的基本内容可以实现自己的一些简单窗口了 此篇文章是跟着沫凡小哥的视频学习的,附上学习网址:https://morvanzhou.github.io/tutorials/python-basic/ 什么是 tkinter 窗口1.1 什么是 Tkinter P...

Miracle8070 1万+

【异常】安装hermes-agent时提示GnuTLS recv error (-110): The TLS connection was non-properly terminated.

Git克隆仓库时出现TLS连接异常报错的解决方案摘要: 当执行git clone命令时遇到"GnuTLS recv error (-110)"报错,通常由网络不稳定、缓冲区不足或证书验证问题导致。主要解决方案包括:1)增大Git HTTP缓冲区(git config --global http.postBuffer 524288000);2)使用GitHub镜像站加速克隆;3)临时禁用SSL验证进行测试;4)检查并调整代理配置;5)改用SSH协议克隆。建议优先尝试增大缓冲区和镜像站方案,

奶爸的编程之路,也就一周冷个三天 1349

Linux加密框架中的算法和算法模式(1)——算法介绍

算法和算法模式

yangguoyu8023的博客 2031

简单的python GUI例子,写一个简单的界面

写一个简单的界面很容易,即使是什么都不了解的情况下,这个文本转载了最简单的界面编写,下个文本介绍了TK的简单但具体的应用 在python中创建一个窗口,然后显示出来。 就3行就能够把主窗口显示出来了。root是一个变量名称,其代表了这个主窗口。以后创建控件的时候指定控件创建在什么窗口之中,就要用这个root来表示了。而Tk()是一个Tkinter库之中的函数(其实是类的构造函数,构造...

python学习者的博客 6万+

【目标追踪】python背景模型减除法原理及其实现

python基于背景模型差法的视频目标追踪帧差法的问题:背景模型差法目标追踪原理1. 基本思路:2. 图例讲解:3. 存在的问题&如何解决:4. 最终效果预览第一步——调用摄像头:1. 使用opencv打开视频or摄像头:2. 读取逐帧图片:第二步——处理图片:1. 转换成灰度图:3. 累加权重重构背景:3. 计算像素差:3. 使用中值滤波和膨胀腐蚀去噪:3.1 中值滤波:3.2 图像腐蚀...

梁瑛平的博客 1947

python中tkinter实现GUI程序:三个实例

Tkinter是Python的标准GUI库,用于创建跨平台的桌面应用程序。它是一个轻量级的库,易于学习和使用,适合初学者和开发小型项目。Tkinter的核心优势在于其简洁性,你可以用很少的代码实现功能丰富的窗体应用。Tkinter是Python中创建GUI的一种简单而强大的方式。无论你是初学者还是有经验的开发者,Tkinter都是入门GUI编程的理想选择。通过学习和使用Tkinter,你可以构建出直观、交互性强的桌面应用程序,增强用户体验。

定期分享我的发现和想法,感谢你的陪伴和支持 7292

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

利用Python中自带Tkinter模块创建一个用户登录界面(GUI)

第一次写博客,有点小紧张.......... 最近突然想学习一下Python的GUI框架,先从基础学起吧!Python有很多模块可以进行GUI编程,其中最简单的就是Tkinter模块了,而且该模块不需要进行安装,它是Python自带的模块,使用的时候直接import就OK! 这里强调一下,如果你使用的是python2的话,应该是import Tkinter,如果你使用的是python3的话...

sunkuocsdn的博客 1万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Python GUI界面界面—tkinter,学习、复习、查阅,这一篇就够了

PythonGUI程序界面设计tkinter优点:无需另外下载,是自带的、操作简单、易方便;缺点:界面控件较少,页面不够美观注:一般来说做小软件tkinter足够了(页面可以用ttkbootstrap美化)。参考材料:https://blog.youkuaiyun.com/qq_48979387/article/details/125706562。

qq_54634562的博客 8136

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

上一篇: mysql recyclebin_Oracle回收站(Recycle Bin)
下一篇: 在java中如何跳出当前的多重嵌套循环_java程序中如何跳出当前的多重嵌套循环实例源码说明...
普通网友
博客等级 码龄7年 22粉丝 74原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值