Python简单制作GUI界面

2023-11-12

不管你是 Mac OS 系统,还是 Windows 系统,它都可以生成相对应的操作界面,这就是所谓的跨平台。其原理就是我们使用 Python代码去调用 Tkinter, Tkinter 已经封装了访问TK的接口,这个接口是一个图形库,支持多跨平台操作系统,进而通过它,我们就可以调用我们系统本身的GUI接口了。

操作系统:Windows / Linux / Mac OS

Python版本:3.6.6

 

[Python] 纯文本查看 复制代码

?

1

2

3

4

5

import tkinter

# 定义一个窗体

top = tkinter.Tk()

# 将其加入主循环

top.mainloop()

[Python] 纯文本查看 复制代码

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

import tkinter as tk

import tkinter.messagebox as mbox

 

 

# 定义MainUI类表示应用/窗口,继承Frame类

class MainUI(tk.Frame):

# Application构造函数,master为窗口的父控件

def __init__(self, master = None):

# 初始化Application的Frame部分

tk.Frame.__init__(self, master)

# 显示窗口,并使用grid布局

self.grid()

# 创建控件

self.createWidgets()

 

 

# 创建控件

def createWidgets(self):

# 创建一个标签,输出要显示的内容(更多Python学习资料加群631441315)

self.firstLabel = tk.Label(self,text="「人人都是Pythonista」专注Python领域,做最专业的Python星球。")

# 设定使用grid布局

self.firstLabel.grid()

# 创建一个按钮,用来触发answer方法

self.clickButton = tk.Button(self,text="点一下瞧瞧?",command=self.answer)

# 设定使用grid布局

self.clickButton.grid()

 

 

def answer(self):

# 我们通过 messagebox 来显示一个提示框

mbox.showinfo("「人人都是Pythonista」",'''

这是一个专注Python的星球,我们提供「从零单排」、「实战项目」、「大航海」、「技术沙龙」、「技术分享」、「大厂内推」等系列供你选择及学习,当然也会有周边技术沿伸。

本星球会不定期开展各类实战项目,阶段性组织线上技术沙龙、分享等;对于职业发展路线不明确的,我们会邀请到一些大厂hr及高级开发、经理等给大家解惑。

加入我们,和千人一起玩Python,To be a Pythonista!

''')

 

 

# 创建一个MainUI对象

app = MainUI()

# 设置窗口标题

app.master.title('「人人都是Pythonista」')

# 设置窗体大小

app.master.geometry('400x100')

# 主循环开始

app.mainloop()

  • 我们导入了 tkinter 的相关模块
  • 定义了初始化函数,通过 grid() 方法将我们的组件传给父容器
  • 自定义一个创建组件的方法,我们创建了一个标签和一个按钮,这个按钮被点击后就会触发 answer这个方法
  • 我们通过 messagebox 来显示一个提示框
  • 实例化我们的 APP,然后通过主线程来监听我们的界面操作
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python简单制作GUI界面 的相关文章

  • 区块链倪老师:《区块链思维》第二章——“二维思维”的使用方法

    上回在 区块链思维 第一章中 我们已经从 一维思维 进阶到了 二维思维 今天我们就来讲讲如何使用 二维思维 二维思维 也叫结构化思维 顾名思义是将知识进行结构化的一种思维方式 同样 在区块链系统中 不同的部分分别构成了不同的结构 一般说来
  • 我的Android进阶之旅------>经典的大客推荐(排名不分先后)!!

    今天看到一篇文章 收藏了很多大牛的博客 在这里分享一下 转载于 http blog csdn net wujxiaoz article details 8237096 Android中文Wiki AndroidStudio NDK开发 移动
  • 思维导图系列——数据库

    思维导图系列 数据库 思维导图为博主期末复习亲自整理而成的 知识点覆盖全 可直接看思维导图复习 包含注解 图示等 觉得对你有帮助 不妨一键三连哦 链接见文末 参考书目 数据库系统概论 第5版 王珊 系列文章直达 思维导图系列 操作系统 思维
  • Qt信号与槽机制的本质

    引入 对象与对象之间的通信有多个方式 如果我们要提供一种对象之间的通信机制 这种机制 要能够给两个不同对象中的函数建立映射关系 前者被调用时后者也能被自动调用 再深入一些 两个对象如果都互相不知道对方的存在 仍然可以建立联系 甚至一对一的映
  • 人物故事

    李飞飞 导语 今年9月11日 谷歌云AI部门负责人李飞飞宣布即将离职 回到斯坦福大学任教 外媒 连线 杂志日前刊文 讲述了李飞飞离职背后的故事 以下为文章全文 去年六月有段时间 凌晨一点左右 李飞飞穿着睡衣 坐在华盛顿特区酒店房间里 练习几
  • web页面攻击分为几类?可以提供几种解决方案吗?

    WEB基本攻击大致可以分为三大类 资源枚举 参数操纵 和 其它攻击 资源枚举 遍历站点所有可访问的目录 然后把一些常见的备胎文件名 比如 sql bak index 副本 html 一个个都枚举一下 如果运气好枚举到了就直接下载 参数操纵
  • 嵌入式linux通过systemd自启动一个c代码

    上一篇博文说了嵌入式linux通过systemd自启动一个python代码 这次把python代码改为c代码 再试试 主要有两个文件 etc systemd system autostart service 用于启动 home roor a
  • 【Error】Call requires API level 3 (current min is 1)解决办法

    今天从网上下载了一个程序 本来好好的 后来不知道怎么弄的就不好使了 解决办法 在工程上右键 gt Android Tools gt Clear Lint Markers
  • [leetcode 周赛 148] 1147 段式回文

    目录 1147 Longest Chunked Palindrome Decomposition 段式回文 描述 思路 代码实现 1147 Longest Chunked Palindrome Decomposition 段式回文 描述 段
  • js逆向DES/AES解密篇

    以某网站登录为例 显然参数由三部分构成 用户名 密码和一个十六位的时间戳 显而易见密码被加密了 以password为关键词搜索js 定位到这一行打个断点 重新点击登录按钮 就会进入到加密函数内部 可以确定是由这个函数进行加密的 b encr
  • Oracle提示,严重: testWhileIdle is true, validationQuery not set

    使用Druid连接Oracle数据库时 提示严重 testWhileIdle is true validationQuery not set 上面的是错误 下面的是日志 是没有问题的 修改错误信息参考testWhileIdle is tru
  • js数组高阶函数——includes()方法

    博主 小猫娃来啦 文章核心 js数组高阶函数 includes方法 文章目录 前言 数组的一般化操作 创建数组 获取数组长度 访问 遍历 数组元素 修改数组元素 删除数组元素 数组尾部添加 数组尾部删除 includes 方法 举例说明 关
  • JavaScript加密/解密与OpenAI的对接:生成加密对话的ChatGPT 4.0应用

    首先 我们来看一个简单的JavaScript加密算法的示例 该算法将输入的字符串每个字符的ASCII值加上1 并返回一个新的字符串 以下是加密函数的代码 javascriptCopy codefunction encrypt message
  • js判断object里面是否包含某一字段

  • Arduino IDE闪退解决办法

    打开Arduino的时候 开始界面只显示了 初始化包 和 准备开发板 然后开始界面消息 Arduino也不能运行 解决办法 将 C Users 你的用户名 AppData Local Arduino15文件夹 删除即可 需要注意 有的电脑有

随机推荐

  • 代码质量检测-Sonar

    一 Sonar简介 sonarqube系统是一个代码质量检测工具 由以下四个组件组成 https docs sonarqube org display SONAR Architecture and Integration 1 一个sonar
  • JVM--调优--04--案例02--大SQL导致内存溢出

    JVM 调优 04 案例02 大SQL导致内存溢出 1 现象 项目启动 且没有人使用 一段时间后就报redis连接异常 1 1 日志信息 org redisson client RedisTimeoutException Command e
  • python教程-Python快速教程

    作者 Vamei 出处 http www cnblogs com vamei 欢迎转载 也请保留这段声明 谢谢 怎么能快速地掌握Python 这是和朋友闲聊时谈起的问题 Python包含的内容很多 加上各种标准库 拓展库 乱花渐欲迷人眼 我
  • 1500*B. Coloring(找规律&鸽巢原理)

    include
  • STM32-GPIO介绍

    目录 1 概述 2 GPIO工作原理 2 1 保护二极管及上下拉电阻 2 2 GPIO工作模式 2 2 1 浮空输入模式 2 2 2 上拉输入模式 2 2 3 下拉输入模式 2 2 4 模拟输入模式 2 2 5 开漏输出模式 2 2 6 开
  • 使用python实现微信小程序自动签到

    学校 重庆财经职业学院 学院 应用技术学院 专业班级 大数据技术与应用05班 名字 吴雨璇 指导老师 张彤老师 一 使用python实现微信小程序自动签到意义 1 首先对于咱们的APP有很大的作用 那就是当用户点击签到以后 平台就有那么多用
  • 基于梯度的优化算法

    梯度下降优化算法 大多数学习算法都涉及到优化 优化是指改变 x 以最小化或者最大化某个函数 f x 的过程 通常我们所说的优化算法都是指最小化的过程 因此 最大化的过程可以通过最小化 f x 来实现 导数是指某个函数 f x 在某一点上的斜
  • 有趣的数学 数学建模入门二 一些理论基础

    一 什么是数学建模 现实世界中混乱的问题可以用数学来解决 从而产生一系列可能的解决方案来帮助指导决策 大多数人对数学建模的概念感到不舒服 因为它是如此开放 如此多的未知信息似乎令人望而却步 哪些因素最相关 但正是现实世界问题的这种开放性导致
  • 文件索引习题

    1 设文件索引结点中有8个地址项 每个地址项大小为4字节 其中5个地址项为直接地址索引 2个地址项是一级间接地址索引 1个地址项是二级间接地址索引 磁盘索引块和磁盘数据块大小均为1KB 则可表示的单个文件最大长度是多少KB 解 磁盘索引块为
  • Linux基础命令练习题附答案解析(一)

    1 在 Linux 系统的 vi 编辑器中 如果不保存对文件进行的修改 强制退出 vi 编辑器的命令是 A q B wq C q D q 表示切换到命令模式 以在最底一行输入命令 q quit 表示退出 vi w write 表示保存文件
  • C#实现Omron欧姆龙PLC的Fins Tcp协议[转]

    转自 https blog csdn net yxt99 article details 79984153 commentBox 感谢作者 yxt99 欧姆龙PLC的FINS协议解释 UDP访问方式 读取示例 读取DM区20个字 从DM10
  • 解决openwrt opkg内核版本不匹配问题

    假设安装软件时提示需要5 4 65版本的内核 然而 系统的内核时5 4 52 root Openwrt uname a Linux Openwrt 5 4 52 0 SMP Thu Jul 23 12 16 45 2020 x86 64 O
  • opengl-shader学习笔记:varying变量

    varying变量可以在Vertex Shader和Fragment Shader之间传递数据 渲染管线中应用程序调用openglAPI 把顶点数据传给Vertex Shader Vertex Shader处理完后输出数据给Fragment
  • javaWeb基础二:Servlet(java前后端交互的技术)

    2 Servlet 2 1 定义 Servlet是sun公司提供的一门用于开发动态web资源的技术 可以实现和客户端的交互 接收客户端请求和给客户端返回响应 Sun公司在其API中提供了一个servlet接口 用户若想开发一个动态web资源
  • 获取id_rsa.pub和id_rsa.pub的作用

    SSH SSH为Secure Shell的缩写 由IETF的网络小组 Network Working Group 所制定 SSH为建立在应用层基础上的安全协议 SSH是目前较可靠 专为远程登录会话和其他网络服务提供安全性的协议 利用SSH协
  • Ubuntu 20.04 搭建NFS server

    文章目录 一 测试环境 二 安装 NFS server 一 测试环境 Ubuntu 20 04 64位 二 安装 NFS server 执行以下命令 sudo apt get install nfs kernel server 出现报错 从
  • C Primer Plus 第一章编程练习

    第一章 1 13编程练习 题 目 你刚被MacroMuscle有限公司聘用 该公司准备进入欧洲市场 需要一个把英尺单位转换为厘米单位 1英寸 2 54厘米 的 程序 该程序要提醒用户输入英寸值 你的任务是定义程序 目标和设计程序 编程过程的
  • 杂项(每天看到的感兴趣的)

    Tomcat最大承受的并发数 Tomcat的最大并发数取决于多个因素 包括硬件资源 如CPU 内存等 网络带宽 应用程序性能以及Tomcat本身的配置 在默认情况下 Tomcat可以处理的最大并发连接数为200 然而 在实际生产环境中 这个
  • 华为OD机试(JAVA)真题 -- 输出最大差

    import java util Arrays import java util Scanner 判断一组不等式是否满足约束并输出最大差 给定一组不等式 判断是否成立并输出不等式的最大差 输出浮点数的整数部分 要求 1 不等式系数为doub
  • Python简单制作GUI界面

    不管你是 Mac OS 系统 还是 Windows 系统 它都可以生成相对应的操作界面 这就是所谓的跨平台 其原理就是我们使用 Python代码去调用 Tkinter Tkinter 已经封装了访问TK的接口 这个接口是一个图形库 支持多跨