Python GUI 图形用户界面程序设计,Python自带 tkinter 库

news2024/12/25 0:50:27

文章目录

  • 前言
    • GUI介绍
    • 简单操作
    • tkinter组件介绍
    • 向窗体中添加按钮控件
    • 使用文本框控件
    • 使用菜单控件
    • 使用标签控件
    • 使用单选按钮和复选按钮组件
    • 使用绘图组件
      • 关于Python技术储备
        • 一、Python所有方向的学习路线
        • 二、Python基础学习视频
        • 三、精品Python学习书籍
        • 四、Python工具包+项目源码合集
        • ①Python工具包
        • ②Python实战案例
        • ③Python小游戏源码
        • 五、面试资料
        • 六、Python兼职渠道


前言

在设计GUI程序的过程中,需要对用户界面进行渲染,达到色彩与便捷智能化一体。而在Python内置库里面,有一个自带的就是tkinter库,我们直接导入 使用即可。


GUI介绍

图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。与通过键盘输入文本或字符命令来完成例行任务的字符界面相比,图形用户界面有许多优点。图形用户界面由窗口、下拉菜单、对话框及其相应的控制机制构成,在各种新式应用程序中都是标准化的,即相同的操作总是以同样的方式来完成,在图形用户界面,用户看到和操作的都是图形对象,应用的是计算机图形学的技术。

简单操作

import tkinter
top=tkinter.Tk()#生成一个主窗口
# 这里面可以作为消息循环,添加窗口功能
label=tkinter.Label(top,text="图形界面程序!")
label.pack()#将标签label添加到窗口中
button1=tkinter.Button(top,text="按钮1")
button1.pack(side=tkinter.LEFT)#将按钮1添加到窗口里
button2=tkinter.Button(top,text="按钮2")
button2.pack(side=tkinter.RIGHT)#将按钮2添加到窗口里
top.mainloop()#进入消息循环

进阶Python之图形界面篇(上)_控件

tkinter组件介绍

进阶Python之图形界面篇(上)_单选按钮_02

import tkinter
import tkMessageBox
top = tkinter.Tk()
def helloCallBack():
tkMessageBox.showinfo("Hello Python", "Hello Runoob")
B = tkinter.Button(top, text="点我", command=helloCallBack)
B.pack()
top.mainloop()

进阶Python之图形界面篇(上)_tkinter_03

向窗体中添加按钮控件

import tkinter
root=tkinter.Tk()#生成一个主窗口对象
button1=tkinter.Button(root,anchor=tkinter.E,#设置文本对齐方式
text="按钮1",width=30,#设置按钮宽度
height=7)
button1.pack()#将按钮添加到主窗口
button2=tkinter.Button(root,text="按钮2",bg="red")#设置背景按钮色
button2.pack()
button3=tkinter.Button(root,text="按钮3",width=12,height=1)
button3.pack()
button4=tkinter.Button(root,text="按钮4",width=40,height=7,
state=tkinter.DISABLED)#设置按钮为禁用
button4.pack()
root.mainloop()

进阶Python之图形界面篇(上)_tkinter_04

使用文本框控件

在tkinter库中可以实现信息接收和用户的信息输入工作,在Python程序中,使用tkinter.Entry和tkinter.text可以创建单行文本和多行文本框组件,通过传递一些属性来解决颜色问题。

进阶Python之图形界面篇(上)_tkinter_05

import tkinter
root=tkinter.Tk()
entry1=tkinter.Entry(root,
show="\*"#设置显示文本是星号
)
entry1.pack()
entry2=tkinter.Entry(root,show="$",width=50)
entry2.pack()
entry3=tkinter.Entry(root,bg="red",fg="blue")#设置文本框的前景色
entry3.pack()
entry4=tkinter.Entry(root,state=tkinter.DISABLED)
entry4.pack()
entry5=tkinter.Entry(root,selectbackground="red",selectforeground="gray")#分别设置文本背景色和文本前景色
entry5.pack()
edit1=tkinter.Text(root,selectbackground="red",selectforeground="gray")
edit1.pack()
root.mainloop()

进阶Python之图形界面篇(上)_单选按钮_06

使用菜单控件

在使用菜单控件的时候,和我们使用其他控件有所不同,我们需要使用创建主窗口的方法config()将菜单添加到窗口中。

import tkinter
root=tkinter.Tk()
menu=tkinter.Menu(root)
# 添加主菜单选项
submenu=tkinter.Menu(menu,tearoff=0)
submenu.add\_command(label="打开")
submenu.add\_command(label="保存")
submenu.add\_command(label="关闭")
menu.add\_cascade(label="文件",menu=submenu)#设置标头签名称

submenu=tkinter.Menu(menu,tearoff=0)
submenu.add\_command(label="复制")
submenu.add\_command(label="粘贴")
submenu.add\_separator()
submenu.add\_command(label="剪切")
menu.add\_cascade(label="编辑",menu=submenu)
submenu=tkinter.Menu(menu,tearoff=0)
submenu.add\_command(label="黑客模式")
submenu.add\_command(label="植入病毒")
submenu.add\_command(label="获取密码")
menu.add\_cascade(label="帮助",menu=submenu)
root.config(menu=menu)#将菜单添加到主窗口
root.mainloop()

进阶Python之图形界面篇(上)_控件_07

自己可定义不同的选项,之后我们在选项里面嵌入不同的功能,这样就达到了一个简单图形界面软件的开发。

使用标签控件

进阶Python之图形界面篇(上)_python_08

import tkinter
root=tkinter.Tk()
label1=tkinter.Label(root,
# anchor=tkinter.E,#设置标签文本位置
bg="yellow",#设置标签的背景色
fg="blue",#设置标签的前景色
text="我是王小王\\n!",#设置标签显示的文本
justify=tkinter.CENTER,
width=40,#设置标签宽度
height=5#设置标签高度
)
label1.pack()#将标签1添加到主窗口
label2=tkinter.Label(root,
text="你好\\nPython!",#设置标签显示的文本
justify=tkinter.LEFT,
width=40,#设置标签宽度
height=5#设置标签高度
)
label2.pack()
label3=tkinter.Label(root,
text="你好\\nPython!",#设置标签显示的文本
justify=tkinter.RIGHT,
width=40,#设置标签宽度
height=5#设置标签高度
)
label3.pack()
label4=tkinter.Label(root,
text="你好\\nPython!",#设置标签显示的文本
justify=tkinter.CENTER,
width=40,#设置标签宽度
height=5#设置标签高度
)
label4.pack()
root.mainloop()

进阶Python之图形界面篇(上)_控件_09

使用单选按钮和复选按钮组件

进阶Python之图形界面篇(上)_python_10

import tkinter
root=tkinter.Tk()
r=tkinter.StringVar()#生成字符串变量
r.set("1")
radio=tkinter.Radiobutton(root,
variable=r,
value="1",#设置单选按钮时的变量值
text="单选按钮1",
)
radio.pack()
radio=tkinter.Radiobutton(root,
variable=r,
value="2",#设置单选按钮时的变量值
text="单选按钮2",
)
radio.pack()
radio=tkinter.Radiobutton(root,
variable=r,
value="3",#设置单选按钮时的变量值
text="单选按钮3",
)
radio.pack()
radio=tkinter.Radiobutton(root,
variable=r,
value="4",#设置单选按钮时的变量值
text="单选按钮4",
)
radio.pack()
c=tkinter.IntVar()#生成整型变量
c.set(1)
check=tkinter.Checkbutton(root,text="复选按钮",
variable=c,#复选按钮关联的变量
onvalue=1,#设置复选按钮时的变量值1
offvalue=2)#设置复选按钮时的变量值2
check.pack()
root.mainloop()
print(r.get())
print(c.get())

进阶Python之图形界面篇(上)_控件_11

进阶Python之图形界面篇(上)_单选按钮_12

使用绘图组件

进阶Python之图形界面篇(上)_单选按钮_13

import tkinter
root=tkinter.Tk()
canvas=tkinter.Canvas(root,
width=600,
height=480,
bg="white")#设置绘图控件的背景色
''''
...............
'''

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

保存图片微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、Python基础学习视频

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~在这里插入图片描述
在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述
因篇幅有限,仅展示部分资料

三、精品Python学习书籍

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述

四、Python工具包+项目源码合集
①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

六、Python兼职渠道

而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
在这里插入图片描述
在这里插入图片描述
这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以保存图片微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

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

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

相关文章

【多线程】-- 04 静态代理模式

多线程 3 静态代理 这里以一个现实生活中的例子来解释并实现所谓的静态代理模式,即结婚者雇用婚庆公司来帮助自己完成整个婚礼过程: package com.duo.lambda;interface Marry {void HappyMarry();//人生四大乐事:久旱逢甘霖;他…

自动化测试|我为什么从Cypress转到了Playwright?

以下为作者观点: 早在2019年,我就开始使用Cypress ,当时我所在的公司决定在新项目中放弃Protractor 。当时,我使用的框架是Angular,并且有机会实施Cypress PoC。最近,我换了工作,现在正在使用R…

springboot自定义更换启动banner动画

springboot自定义更换启动banner动画 文章目录 springboot自定义更换启动banner动画 📕1.新建banner🖥️2.启动项目🔖3.自动生成工具🧣4.彩蛋 🖊️最后总结 📕1.新建banner 在resources中新建banner.txt文…

C#——多线程之异步调用容易出现的问题

C#——多线程之异步调用容易出现的问题 Q1:For中异步调用函数且函数输入具有实时性 Q1:For中异步调用函数且函数输入具有实时性 在项目进行过程中,发现For中用异步调用带有输入参数的函数时,会由于闭包特性,以及Task.…

ssm+vue的公司安全生产考试系统(有报告)。Javaee项目,ssm vue前后端分离项目。

演示视频: ssmvue的公司安全生产考试系统(有报告)。Javaee项目,ssm vue前后端分离项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结…

C#从零搭建微信机器人(二)分词匹配组件【jieba】的使用

上篇文章我们讲解了微信机器人的环境搭建及演示,这期我们来说一下其中在模糊匹配搜索时用到的Segement子项目,也就是其中的中文分词匹配器。 一、原理介绍: 其实这个子项目中的分词插件和solr的IK分词器类似,都是可以支持将一句…

TP4066L是一款完整的单节锂离子电池采用恒定电流/恒定电压线性充电器。

TP4066L 采用ESOP8/DFN2*2-8封装 1A线性锂离子电池充电器 描述: TP4066L是一款完整的单节锂离子电池采用恒定电流/恒定电压线性充电器。其底部带有散热片的ESOP8DFN2*2-8封装与较少的外部元件数目使得TP4066L成为便携式应用的理想选择。TP4066L可以适合USB电源和适…

桐庐县数据资源管理局领导一行莅临美创科技并带来感谢信

11月23日,浙江桐庐县数据资源管理局党组成员、副局长朱勃一行到访美创科技总部参观交流,并带来感谢信,对美创圆满完成护航亚运政务外网数据网站安全保障工作表示充分肯定。美创科技联合创始人、副总裁胡江涛等进行热情接待并开展交流座谈。 图…

微信ipad协议8.0.37/8.0.40新版本

功能如下,如有定制功能请在官网联系我们。 登录 创建新设备 获取登录er维码 执行登录 注销登录 消息 消息回调 消息撤回 发送app类型消息 发送小程序 发送CDN文件 发送CDN图片 发送CDN视频 发送emoji 发送文件 发送图片 发送链接 发送消息 发送视频 发送语音 …

2021年全国a级景区数据,shp+csv数据均有

大家好~这周将和大家分享关于文化旅游和城乡建设相关的数据,希望大家喜欢~ 今天分享的是2021年全国a级景区数据,数据格式有shpcsv,几何类型为点,已经经过清洗加工,可直接使用,以下为部分字段列表&#xff…

无人机遥控器方案定制_MTK平台无人设备手持遥控终端PCB板开发

随着科技的不断发展和无人机技术的逐步成熟,无人机越来越受到人们的关注。作为一种高新技术,无人机的应用范围不断拓展,包括农业、环境监测、城市规划、运输物流等领域。同时,无人机的飞行控制技术也得到了不断的优化和提升。 早…

前端管理制度

数据运营中心的管理形式: 数据运营中心的管理形式 竖向是各小组 横向是项目管理 负责人的定位: 只是工作的内容不同,没有上下级之分 帮助组员找到适合的位置,帮助大家解决问题,给大家提供资源 前端组的工作形式&am…

Doris-Routine Load(二十七)

例行导入(Routine Load)功能为用户提供了一种自动从指定数据源进行数据导入的功能。 适用场景 当前仅支持从 Kafka 系统进行例行导入,使用限制: (1)支持无认证的 Kafka 访问,以及通过 SSL 方…

二维码智慧门牌管理系统:实现高效信息管理

文章目录 前言一、 功能升级优势 前言 随着科技的飞速发展和人们生活节奏的加快,传统的门牌管理系统已经不再适应现代社会的需求。为了解决这一问题,全新的二维码智慧门牌管理系统升级解决方案应运而生,为用户带来前所未有的便捷与高效。 一…

1m照片手机怎么拍?一分钟解决!

我们都知道现在的手机像素特别好,随便拍一张照片都是2-3MB,有时候上课或者会议要拍很多照片,这些照片其实又不需要如此清晰,就会特别占内存,下面就向大家介绍三种好用的办法。 方法一:拍完照后手机截图进行…

【开源】基于JAVA的海南旅游景点推荐系统

项目编号: S 023 ,文末获取源码。 \color{red}{项目编号:S023,文末获取源码。} 项目编号:S023,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户端2.2 管理员端 三、系统展示四…

训练 CNN 对 CIFAR-10 数据中的图像进行分类

1. 加载 CIFAR-10 数据库 import keras from keras.datasets import cifar10# 加载预先处理的训练数据和测试数据 (x_train, y_train), (x_test, y_test) cifar10.load_data() 2. 可视化前 24 个训练图像 import numpy as np import matplotlib.pyplot as plt %matplotlib …

【Java开发基础】intellij IDEA快速配置JDBC驱动连接MySQL数据库并查询数据,其实真的很简单,我5分钟就学会了!

🚀 个人主页 极客小俊 ✍🏻 作者简介:web开发者、设计师、技术分享博主 🐋 希望大家多多支持一下, 我们一起学习和进步!😄 🏅 如果文章对你有帮助的话,欢迎评论 💬点赞&a…

多功能音乐沙漏的设计与实现

【摘要】随着当今社会快节奏生活的发展,当代大学生越来忽视时间管理的重要性,在原本计划只看几个视频只玩几个游戏的碎片化娱乐中耗费了大量的时光,对于自己原本的学习生活产生了巨大的影响。为更加有效的反映时间的流逝,特设计该…

canvas基础:绘制线段,绘制多边形

canvas实例应用100 专栏提供canvas的基础知识,高级动画,相关应用扩展等信息。 canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重要的帮助。 文章目录 使用…