-
2022-03-06 18:14:11
文章目录
1.关于GUI编程
1.1 简介
GUI编程,即用户图形界面编程。GUI是三个单词的缩写:Graphical User Interface。
1.2 GUI 介绍
我在学习过程中了解到GUI编程的市场环境相对来说已经寥寥无几,但是自己也并没有在听到之后进行充分了解,所以不管是寥寥无几,还是多如牛毛,于我而言,剩下的还是身为学者的应该掌握的学习态度。
1.3 GUI 的好处
所以经过1.2的声明,我有了对1.3的了解,也就是学习GUI编程,能带给我们的好处。
GUI是 用户图形界面编程,学习这个,能给后期学习MVC打好基础,因为GUI中就涉及到了监听这个概念的知识。而且我还了解到Eclipse工具就是Java官方用来炫技,用 Java 这些写出来的,但是又因为GUI不像C和C++中有图形引擎,所以他的界面不是很美观,也因为界面的美观度,而且还需要JRE环境的支持,所以没有继续火。最后抛开这些,我们通过以上东东,了解到了一些背景故事,以及学习他的好处。管他哪个样儿,务实,愿意就学,不愿意拉倒。继续 ↓
1.4 GUI 的基本组件内容
我们知道一个界面或是一个应用,打开的话无疑都是一个窗口,那窗口的话打开肯定会有弹窗的动作,反正不管弹窗,弹出来的肯定是一个界面,肯定是一个面板,面板上肯定有文本框,列表框,这些东东。也肯定会有按钮,不然用户没法进行操作,也肯定会有图片,不然就是一片光秃秃,有按钮的话一定会有监听事件,不然按钮怎么会生效,监听事件,肯定会涉及到鼠标,或者是键盘事件,因为对于用户而言,无异于操作应用的就是这两个设备。
组件内容就涵盖了:
基本组件- 窗口
- 弹窗
- 面板
- 文本框
- 列表框
- 按钮
- 图片
交互组件
- 监听事件
- 鼠标
- 键盘事件
2. GUI 的核心
GUI 有两个核心,一个是AWT 一个是Swing。
2.1 java.awt.*;
awt是 Swing的前身,二者的逻辑相似,AWT针对简单的事件。他叫做抽象的接口工具,即 abstarct windows tool。
2.2 Swing
Swing 针对 画图形界面。
3.体系结构导图
//参上所述内容,是我这周对GUI学习的一个简单分享,接下来我会继续学习GUI的相关内容,也会在博文中继续分享出对于上面体系结构图中涉及到的对象。
更多相关内容 -
Python GUI编程完整示例
2020-09-19 11:59:05主要介绍了Python GUI编程,结合完整示例形式分析了Python基于tkinter模块的GUI图形界面编程相关实现技巧,需要的朋友可以参考下 -
Python Gui编程-PyQt5开发与实战
2021-06-19 18:37:49本门课程需要有python基础,从零基础带大家学习pyhon gui 编程,从界面设计到 初级控件,高级控件,信号和槽,事件,数据库,pyqt matplotlib来学习pyqt5.非常丰富的项目实战案例,股票看板,视频播放器,音乐播放器员工管理... -
PYTHON GUI 编程
2020-12-21 18:22:36大家好,我们继续来探讨python GUI编程中使用tkinter包的第三个步骤。 定义事件处理程序 构建GUI应用的下一步是定义窗口使用的事件。控件可以产生事件,例如当用户单击按钮时,并且使用command参数可以指定当python... -
Java GUI编程实现在线聊天室
2020-08-27 03:59:59主要为大家详细介绍了Java GUI编程实现在线聊天室,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
GUI编程中几个有用的程序段-GUI编程中几个有用的程序段.pdf
2019-08-13 09:55:22GUI编程中几个有用的程序段-GUI编程中几个有用的程序段.pdf 值得学习一下! 讲述的是GUI编程中常常用到的语句 -
Python GUI编程 文本弹窗的实例
2020-09-19 07:58:09今天小编就为大家分享一篇Python GUI编程 文本弹窗的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
Java GUI编程方法开发的一个贪吃蛇小游戏.zip
2021-05-07 14:37:46Java GUI编程方法开发的一个贪吃蛇小游戏,可以做为你的学习设计参考。 -
Python GUI编程学习笔记之tkinter控件的介绍及基本使用方法详解
2020-09-17 15:57:11主要介绍了Python GUI编程学习笔记之tkinter控件的介绍及基本使用方法,结合实例形式详细分析了Python GUI编程中tkinter控件的原理、用法及相关操作注意事项,需要的朋友可以参考下 -
MATLABGUI编程中文参考手册-MATLAB GUI编程中文参考手册.pdf
2019-08-13 13:33:33MATLABGUI编程中文参考手册-MATLAB GUI编程中文参考手册.pdf 为大家提供一点资料来学习学习 -
MatlabGUI编程中文参考手册-Matlab_GUI编程中文参考手册.doc
2019-08-13 05:48:30MatlabGUI编程中文参考手册-Matlab_GUI编程中文参考手册.doc 很好,很强大,希望对大家有帮助 -
借助RubyGnome2库进行GTK下的Ruby GUI编程的基本方法
2020-09-21 19:07:26主要介绍了借助RubyGnome2库进行GTK下的Ruby GUI编程的基本方法,介绍了基本的UI和事件响应的相关实现,需要的朋友可以参考下 -
MATLAB GUI编程
2018-04-16 08:59:51资料中的问题由MATLAB中文论坛上网友的提问整理而成,对常见的MATLAB GUI编程遇到的问题进行了梳理和回答,为新手及入门不深的人的很好的学习资料。 -
GUI编程
2021-05-20 03:54:54图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的图标或...图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。
图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。与通过键盘输入文本或字符命令来完成例行任务的字符界面相比,图形用户界面有许多优点。图形用户界面由窗口、下拉菜单、对话框及其相应的控制机制构成,在各种新式应用程序中都是标准化的,即相同的操作总是以同样的方式来完成,在图形用户界面,用户看到和操作的都是图形对象,应用的是计算机图形学的技术。
用户界面是我们使用者和计算机交互的一种方式,我们日常会使用到的QQ登录界面,QQ聊天界面,这些都属于图形用户界面。
Python作为一种跨平台的强大语言,当然是可以进行图形界面的开发,在开发的过程中,由于第三方库的存在,有多种模块供我们选择。模块名说明
TkinkerTkinter是一种标准的接口,这个模块存在于Python内部中供我们使用,它是一个轻量级的跨平台工具
wxPythonwxPython是一种较为流行的GUI模块
Flexx倾向于web方面的模块
KivyKivy是开源Python函式库,用于开发行动应用程序和其它采用自然用户界面的多点触控应用软件
PyQtPyQt 是 KDE 的底层 GUI 库的 Python 封装
PyGTKPyGTK 是 Gnome 的底层 GUI 库 GTK+ 的 Python 封装
下面我们将会介绍较为常用的两种模块,分别是内置的Tkinker模块和wxPython模块,由于Tkinker是系统内置的,所有我们不需要下载就可以直接进行使用,而wxPython模块则需要我们从第三方库中下载使用。
1. wxPython下载
我们在前面介绍了第三方模块的下载方式,在这里我们再介绍一种新的下载方式,如果我们仅仅使用pip install wxPython可能会出现读取超时的现象,所以我们可以使用下面方式进行下载。pip --default-timeout=100 install -U wxPython
这样就显示我们安装成功,如果我们使用IDLE就可以直接引入这个库,我们还可以在Pycharm中查看一下是否安装成功,如果我们选择的环境是正确的,那么应该可以在下图的页面找到这个模块。
使用Pycharm的可以选择在Pycharm中直接安装,不需要通过cmd命令。
点击安装即可。
2. 总结
后面我们会先进行Tkinter进行讲解,然后学习完Tkinter再进行wxPython的学习,大家可以学习完之后对比一下两种模块的区别在哪里,然后再选择自己一个自己喜欢的去使用。
-
Qt GUI 编程
2018-09-28 23:49:00Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序, -
Java的GUI编程之列表和组合框的设计使用
2020-09-03 07:10:24主要介绍了Java的GUI编程之列表和组合框的设计使用,是Java图形界面编程中的基础知识,需要的朋友可以参考下 -
JAVAGUI编程初步
2019-01-09 09:51:22图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。 与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。然而这界面若要... -
MATLAB GUI编程中文参考手册
2018-07-25 14:52:12MATLAB面向对象编程学习手册,包含如何利用matlab进行GUI编程 -
pyqt快速gui编程指南
2017-06-05 14:57:44pyqt快速gui编程指南和代码 -
Python GUI编程
2021-10-03 17:11:39文章目录Python GUI编程0.创建窗口1.Label和Button的使用2.Entry和Text的使用3.Grid网格布局4.Frame框架5.messagebox消息框6.下拉框7.Menu菜单项目学习1.点名器a.导航栏b.主体c.逻辑 Python GUI编程 0.创建窗口 ...文章目录
Python GUI编程
0.创建窗口
import tkinter as tk #创建一个窗口 root = tk.Tk() root.mainloop() # 第2步,给窗口的可视化起名字 root.title('My Window') # 设置窗口最小和最大 root.minsize(300,300) root.maxsize(500,500)
1.Label和Button的使用
#!/usr/bin/env python # -*- coding: utf-8 -*- # author:洪卫 import tkinter as tk # 使用Tkinter前需要先导入 # 第1步,实例化object,建立窗口window window = tk.Tk() # 第2步,给窗口的可视化起名字 window.title('My Window') # 第3步,设定窗口的大小(长 * 宽) window.geometry('500x300') # 这里的乘是小x # 第4步,在图形界面上设定标签 var = tk.StringVar() # 将label标签的内容设置为字符类型,用var来接收hit_me函数的传出内容用以显示在标签上 l = tk.Label(window, textvariable=var, bg='green', fg='white', font=('Arial', 12), width=30, height=2) # 说明: bg为背景,fg为字体颜色,font为字体,width为长,height为高,这里的长和高是字符的长和高,比如height=2,就是标签有2个字符这么高 l.pack() # 定义一个函数功能(内容自己自由编写),供点击Button按键时调用,调用命令参数command=函数名 on_hit = False def hit_me(): global on_hit if on_hit == False: on_hit = True var.set('you hit me') else: on_hit = False var.set('') # 第5步,在窗口界面设置放置Button按键 b = tk.Button(window, text='hit me', font=('Arial', 12), width=10, height=1, command=hit_me) b.pack() # 第6步,主窗口循环显示 window.mainloop()
2.Entry和Text的使用
Entry是tkinter类中提供的的一个单行文本输入域,用来输入显示一行文本,收集键盘输入(类似 HTML 中的 text)。
#!/usr/bin/env python # -*- coding: utf-8 -*- # author:洪卫 import tkinter as tk # 使用Tkinter前需要先导入 # 第1步,实例化object,建立窗口window window = tk.Tk() # 第2步,给窗口的可视化起名字 window.title('My Window') # 第3步,设定窗口的大小(长 * 宽) window.geometry('500x300') # 这里的乘是小x # 第4步,在图形界面上设定输入框控件entry并放置控件 e1 = tk.Entry(window, show='*', font=('Arial', 14)) # 显示成密文形式 e2 = tk.Entry(window, show=None, font=('Arial', 14)) # 显示成明文形式 e1.pack() e2.pack() # 第5步,主窗口循环显示 window.mainloop()
Text是tkinter类中提供的的一个多行文本区域,显示多行文本,可用来收集(或显示)用户输入的文字(类似 HTML 中的 textarea),格式化文本显示,允许你用不同的样式和属性来显示和编辑文本,同时支持内嵌图象和窗口。
#!/usr/bin/env python # -*- coding: utf-8 -*- # author:洪卫 import tkinter as tk # 使用Tkinter前需要先导入 # 第1步,实例化object,建立窗口window window = tk.Tk() # 第2步,给窗口的可视化起名字 window.title('My Window') # 第3步,设定窗口的大小(长 * 宽) window.geometry('500x300') # 这里的乘是小x # 第4步,在图形界面上设定输入框控件entry框并放置 e = tk.Entry(window, show=None) # 显示成明文形式 e.pack() # 第5步,定义两个触发事件时的函数insert_point和insert_end(注意:因为Python的执行顺序是从上往下,所以函数一定要放在按钮的上面) def insert_point(): # 在鼠标焦点处插入输入内容 var = e.get() t.insert('insert', var) def insert_end(): # 在文本框内容最后接着插入输入内容 var = e.get() t.insert('end', var) # 第6步,创建并放置两个按钮分别触发两种情况 b1 = tk.Button(window, text='insert point', width=10, height=2, command=insert_point) b1.pack() b2 = tk.Button(window, text='insert end', width=10, height=2, command=insert_end) b2.pack() # 第7步,创建并放置一个多行文本框text用以显示,指定height=3为文本框是三个字符高度 t = tk.Text(window, height=3) t.pack() # 第8步,主窗口循环显示 window.mainloop()
Entry.get() 获取输入的文本内容。
Text.insert(‘insert’,content) 鼠标焦点处插入内容
Text.insert(‘end’,content) 末尾插入内容。
3.Grid网格布局
#!/usr/bin/env python # -*- coding: utf-8 -*- # author:洪卫 import tkinter as tk # 使用Tkinter前需要先导入 # 第1步,实例化object,建立窗口window window = tk.Tk() # 第2步,给窗口的可视化起名字 window.title('My Window') # 第3步,设定窗口的大小(长 * 宽) window.geometry('500x300') # 这里的乘是小x # 第4步,grid 放置方法 for i in range(3): for j in range(3): tk.Label(window, text='('+str(i)+','+str(j)+')').grid(row=i, column=j, padx=10, pady=10, ipadx=10, ipady=10) # 第5步,主窗口循环显示 window.mainloop()
4.Frame框架
Frame:框架,用来承载放置其他GUI元素,就是一个容器,是一个在 Windows 上分离小区域的部件, 它能将 Windows 分成不同的区,然后存放不同的其他部件. 同时一个 Frame 上也能再分成两个 Frame, Frame 可以认为是一种容器.
#!/usr/bin/env python # -*- coding: utf-8 -*- # author:洪卫 import tkinter as tk # 使用Tkinter前需要先导入 # 第1步,实例化object,建立窗口window window = tk.Tk() # 第2步,给窗口的可视化起名字 window.title('My Window') # 第3步,设定窗口的大小(长 * 宽) window.geometry('500x300') # 这里的乘是小x # 第4步,在图形界面上创建一个标签用以显示内容并放置 tk.Label(window, text='on the window', bg='red', font=('Arial', 16)).pack() # 和前面部件分开创建和放置不同,其实可以创建和放置一步完成 # 第5步,创建一个主frame,长在主window窗口上 frame = tk.Frame(window) frame.pack() # 第6步,创建第二层框架frame,长在主框架frame上面 frame_l = tk.Frame(frame) # 第二层frame,左frame,长在主frame上 frame_r = tk.Frame(frame) # 第二层frame,右frame,长在主frame上 frame_l.pack(side='left') frame_r.pack(side='right') # 第7步,创建三组标签,为第二层frame上面的内容,分为左区域和右区域,用不同颜色标识 tk.Label(frame_l, text='on the frame_l1', bg='green').pack() tk.Label(frame_l, text='on the frame_l2', bg='green').pack() tk.Label(frame_l, text='on the frame_l3', bg='green').pack() tk.Label(frame_r, text='on the frame_r1', bg='yellow').pack() tk.Label(frame_r, text='on the frame_r2', bg='yellow').pack() tk.Label(frame_r, text='on the frame_r3', bg='yellow').pack() # 第8步,主窗口循环显示 window.mainloop()
关于边距
padx,pady 外边距水平方向和垂直方向。
ipadx,ipady 内边距。
padx=10,表示左右边距为10像素。
padx=(10,20) 表示左边距10,右边距20.
https://www.cnblogs.com/rainbow-tan/p/14694211.html
5.messagebox消息框
import tkinter as tk from tkinter import messagebox if __name__ == '__main__': def LoginButton(): u = rt.username.get() p = rt.password.get() if len(u) == 0 or len(p) == 0: messagebox.showerror('提示:', '输入信息为空') else: messagebox.showinfo('提示:', '用户名: %s\n密码为: %s\n' % (u, p)) # 主窗口 rt = tk.Tk() rt.geometry('300x300') # 变量 rt.username = tk.StringVar() rt.password = tk.StringVar() # 账号 f1 = tk.Frame(rt) tk.Label(f1, text='账号: ').grid(row=0, column=0, padx=30) tk.Entry(f1, textvariable=rt.username).grid(row=0, column=1) f1.grid(pady=50) # 密码 f2 = tk.Frame(rt) tk.Label(f2, text='密码: ').grid(row=1, column=0, padx=30) tk.Entry(f2, show='*', textvariable=rt.password).grid(row=1, column=1) f2.grid() # 登录按钮 tk.Button(rt, text='登录', command=LoginButton).grid(pady=30) rt.mainloop()
6.下拉框
def GetIdentity(*args): identity = rt.identity.get() print(identity) # 身份下拉框 f0 = tk.Frame(rt) tk.Label(f0, text='身份: ').grid(row=0, column=0, padx=(5,30)) identityBox = ttk.Combobox(f0, textvariable=rt.identity, values=['管理员', '用户', '其他'],width=10) identityBox.grid(row=0, column=1) identityBox.current(1) identityBox.bind("<<ComboboxSelected>>", GetIdentity) f0.grid(padx=0,pady=20)
7.Menu菜单
创建一个顶级菜单,你需要先创建一个菜单实例,然后使用 add() 方法将命令和其它子菜单添加进去:
import tkinter as tk root = tk.Tk() def callback(): print("~被调用啦~") #创建一个顶级菜单 menubar = tk.Menu(root) menubar.add_command(label = "Hello", command = callback) menubar.add_command(label = "Quit", command = root.quit) #显示菜单 root.config(menu = menubar) root.mainloop()
2.创建一个下拉菜单(或者其他子菜单),方法也是大同小异,最主要的区别是它们最后需要添加到主菜单上(而不是窗口上):
import tkinter as tk root = tk.Tk() def callback(): print("~被调用了~") # 创建一个顶级菜单 menubar = tk.Menu(root) # 创建一个下拉菜单“文件”,然后将它添加到顶级菜单中 filemenu = tk.Menu(menubar, tearoff=False) filemenu.add_command(label="打开", command=callback) filemenu.add_command(label="保存", command=callback) filemenu.add_separator() filemenu.add_command(label="退出", command=root.quit) menubar.add_cascade(label="文件", menu=filemenu) # 创建另一个下拉菜单“编辑”,然后将它添加到顶级菜单中 editmenu = tk.Menu(menubar, tearoff=False) editmenu.add_command(label="剪切", command=callback) editmenu.add_command(label="拷贝", command=callback) editmenu.add_command(label="粘贴", command=callback) menubar.add_cascade(label="编辑", menu=editmenu) # 显示菜单 root.config(menu=menubar) root.mainloop()
https://blog.csdn.net/qq_41556318/article/details/85273584
项目学习
1.点名器
a.导航栏
顶级菜单分为两个子菜单:菜单和导入人名列表。
子菜单三个功能:删除库,退出,显示作者。
b.主体
用一个Label 表示提示信息(请导入人名列表,请选择人数)
然后三个Label分别显示选择几个人,三个Button按钮。
清零按钮用来清屏三个Label。
c.逻辑
运行程序,先检查是否当前工作目录下是否有文件
库.txt
(人名数据表)没有提示导入,然后点击导入,会在工作目录下生成一个
库.txt
。点对应的生成按钮,利用random函数从人名表中生成。
-
Python之GUI编程
2022-02-09 16:18:42Tkinter:tkinter(Tk interface)是Python的标准GUI库,支持跨平台的GUI程序开发,tkinter适合小型的GUI程序编写,也特别适合初学者学习GUI编程。 wxPython:wxPython是比较流行的GUI库,适合大型应用程序开发,...一、常用的GUI库
- Tkinter:tkinter(Tk interface)是Python的标准GUI库,支持跨平台的GUI程序开发,tkinter适合小型的GUI程序编写,也特别适合初学者学习GUI编程。
- wxPython:wxPython是比较流行的GUI库,适合大型应用程序开发,功能强宇tkinter,整体设计框架类似于MFC(Microsoft Foundation Classes 微软基础类库)
- PyQT:Qt是一种开源的GUI库,适合大型GUI程序开发,PyQT是Qt工具包标准的Python实现。我们也可以使用Qt Desginer 界面设计器快速开发GUI应用程序。
基于tkinter模块创建GUI程序包括如下4个核心步骤:
- 创建应用程序主窗口对象(也称:根窗口):通过类Tk的无参构造函数
- 在主窗口中,添加各种可视化组件,比如:按钮(Button)、文本框(Label)等。
- 通过几何布局管理器,管理组件的大小和位置
- 事件处理:通过绑定事件处理程序,响应用户操纵所触发的事件(比如:单击、双击等)
操作如下:
from tkinter import * from tkinter import messagebox root = Tk() btn01=Button(root) btn01["text"]="点我就送花" btn01.pack() def songhua(e): #e就是事件对象 messagebox.showinfo("Message","送你一朵玫瑰花") print("送你99朵玫瑰花") btn01.bind("<Button-1>", songhua) root.mainloop() #调用组件的mainloop()方法,进入事件循环
二、主窗口位置和大小
通过geometry('wxh ±x ±y‘)进行设置。w为宽度,h为高度,+x表示距屏幕左边的距离,-x表示据屏幕右边的距离,+y表示距屏幕上边的距离,-y表示距屏幕下边的距离。
root = Tk() root.title("我的第一个GUI程序") root.geometry("500x300+100+200")
实验:测试GUI程序的类的对象:
"""测试一个经典的GUI程序的写法,使用面向对象的方式""" from tkinter import * from tkinter import messagebox class Application(Frame): """一个经典的GUI程序的类的写法""" def __init__(self, master=None): super().__init__(master) #super()代表的是父类的定义,而不是父类对象 self.master=master self.pack() self.createWidget() def createWidget(self): """创建组件""" self.btn01 = Button(self) self.btn01["text"] = "点击送花" self.btn01.pack() self.btn01["command"] =self.songhua # 创建一个退出按钮 self.btnQuit= Button(self, text="退出", command=root.destroy) self.btnQuit.pack() def songhua(self): messagebox.showinfo("送花","送你99朵玫瑰花") root=Tk() root.geometry("400x100+200+300") root.title("一个经典的GUI程序类的测试") app = Application(master=root) root.mainloop()
三、label标签
Label(标签)主要用于显示文本信息,也可以显示图像
Label(标签)有这些常见的属性:
- width,height:用于指定区域大小,如果显示是文本,则以单个英文字符大小为单位(一个汉字占2个字符位置);如果显示的是图像,则以像素为单位,默认值是根据具体显示的内容动态调整。
- font:指定字体和字体大小,如:font = (font_name,size)
- image:显示在Label上的图像,目前tkinter只支持gif格式
- fg和bg:fg(foreground):前景色、bg(background):背景色
- justify:针对多行文字的对齐,可设置justify属性,可选值”left“,”center“和”right"
四、Options选项详解
- 创建对象时,使用命名参数(也叫关键字参数)
fred=Button(self, fg="red", bg="blue")
2.创建对象后,使用字典索引方式
fred["fg"]= "red"
fred["bg"] = "blue"
3. 创建对象后,使用 config()方法
fred.config(fg="red", bg="blue")
五、 Button
Button(按钮)用来执行用户的单击操作,Button可以包含文本,也可以包含图像,按钮被单击后会自动调用对应事件绑定的方法。
六、Entry单行文本框
Entry用来接收一行字符串的控件,如果用户输入的文字长度长于Entry控件的宽度时,文字会自动向后滚动,如果想输入多行文本,需要使用Text控件。
"""测试Entry组件的基本用法,使用面向对象的方式""" from tkinter import * from tkinter import messagebox class Application(Frame): """一个经典的GUI程序的类的写法""" def __init__(self, master=None): super().__init__(master) #super()代表的是父类的定义,而不是父类对象 self.master=master self.pack() self.createWidget() def createWidget(self): """创建登录界面的组件""" self.label01 = Label(self,text="用户名") self.label01.pack() #StringVar变量绑定到指定的组件 #StringVar变量的值发生变化,组件内容也变化 #组件内容发生变化,StringVar变量的值也发生变化。 v1=StringVar() self.entry01=Entry(self,textvariable=v1) self.entry01.pack() v1.set("admin") print(v1.get());print(self.entry01.get()) #创建密码框 self.label02=Label(self,text="密码") self.label02.pack() v2 = StringVar() self.entry02 = Entry(self, textvariable=v2,show="*") self.entry02.pack() Button(self,text="登录",command=self.login).pack() def login(self): print("用户名:"+self.entry01.get()) print("密码:" + self.entry02.get()) messagebox.showinfo("学习系统","登录成功!欢迎开始学习!") if __name__=='__main__': root = Tk() root.geometry("400x130+200+300") app=Application(master=root) root.mainloop()
七、Text多行文本框
Text(多行文本框)的主要用于显示多行文本,还可以显示网页链接,图片,HTML页面,甚至CSS样式表,添加组件等,因此,也常被当做简单的文本处理器,文本编辑器或者网页浏览器来使用。比如IDLE就是Text组件组成的。
八、Radiobutton单选按钮与Checkbutton复选按钮
Radiobutton控件用于选择同一组单选按钮中的一个。Radiobutton可以显示文本,也可以显示图像。
Checkbutton控件用于选择多个按钮的情况。Checkbutton可以显示文本,也可以显示图像。
九、canvas画布
canvas(画布)是一个矩形区域,可以放置图形,图像,组件等。
十、布局管理器
grid布局管理器:grid表格布局,采用表格结构组织组件。子组件的位置由行和列的单元格来确定,并且可以跨行和跨列,,从而实现复杂的布局。
grid()方法提供的选项
选项 说明 取值范围 column 单元格的列号 从0开始的正整数 columnspan 跨列,跨越的列数 正整数 row 单元格的行号 从0开始的正整数 rowspan 跨行,跨越的行数 正整数 ipadx、ipady 设置子组件之间的间隔,x方向或者y方向,默认单位为像素 非负浮点数,默认0.0 padx、pady 与之并列的组件之间的间隔,x方向或者y方向,默认单位为像素 非负浮点数,默认0.0 sticky 组件紧贴所在单元格的某一角,对应于东南西北中以及4个角 “n“,”s“,”w“,”e“,”nw“,”sw“,”se“,”ne“,”center“(默认) -
PYTHON GUI编程
2020-12-21 19:05:51PYTHON GUI编程 1使用tkinker包步骤创建一个窗口向窗口中添加控件 使用tkinker包步骤 创建一个窗口。 向窗口中添加控件。 为控件定义事件处理程序。 创建一个窗口 在GUI环境中,所有的事情都跟窗口有关。所以创建GUI... -
Mastering-GUI-Programming-with-Python:精通Python的GUI编程
2021-05-04 14:49:41精通Python的GUI编程 这是Packt发布的“ 进行的代码库。 使用PyQt开发令人印象深刻的跨平台GUI应用程序 这本书是关于什么的? 长期以来,PyQt5一直是可用于Python的功能最强大,功能最全面的GUI框架,但是缺少可... -
C++ Builder 5高级编程技术——GUI编程
2012-12-20 18:49:29C++ Builder 5高级编程技术——GUI编程 -
Matlab界面GUI编程官方教程2017版
2017-08-16 08:55:27Matlab界面GUI编程官方教程2017版 -
golang-gui编程
2022-04-09 16:15:56如果是学习gui编程,那么之前有篇文章,一定要读一下,那篇文章就是如何开发出一款流氓软件,众所众知,360,2345之流乃集大成者,每每想到他们我变黯然神伤,如果战胜不了它,那么就加入它,成为它,颠覆它。... -
Tkinter-GUI-Programming-by-Example:Tkinter GUI编程示例,由Packt发布
2021-05-04 18:49:55Tkinter GUI编程实例 这是发布的的代码库。 它包含从头到尾完成本书所必需的所有支持项目文件。 关于这本书 本书将通过创建一些有趣的交互式项目来帮助您入门和使用Tkinter。 这些项目具有不同程度的复杂性。 我们将... -
MATLAB GUI编程中几个有用的程序段.pdf
2019-05-13 10:23:34matlab GUI 编程 matlab 应用技巧 2-D Plotting The Figure Window Data Statistics & Curve Fitting Subplots & Scales for Axes Specialized Plotting Routines 3-D Plotting Images -
Python-GUI-Programming-with-Tkinter:Packt发布的使用Tkinter进行Python GUI编程
2021-05-28 02:55:22使用Tkinter进行Python GUI编程 这是发布的用于进行的代码库。 它包含从头到尾完成本书所必需的所有支持项目文件。 关于这本书 Tkinter是Python标准库中提供的轻量级,便携式且易于使用的图形工具箱,由于其简单性和...