python widget_python 图形界面

2023-11-07

Python自带的库是支持Tk的Tkinter,使用Tkinter,无需安装任何包,就可以直接使用。

Tk是一个图形库,支持多个操作系统

导入Tkinter包的所有内容:

from tkinter import *

从Frame派生一个Application类,这是所有Widget的父容器:

classApplication(Frame):def __init__(self, master=None):

Frame.__init__(self, master)

self.pack()

self.createWidgets()defcreateWidgets(self):

self.helloLabel= Label(self, text='Hello, world!')

self.helloLabel.pack()

self.quitButton= Button(self, text='Quit', command=self.quit)

self.quitButton.pack()

在GUI中,每个Button、Label、输入框等,都是一个Widget。Frame则是可以容纳其他Widget的Widget,所有的Widget组合起来就是一棵树。

pack()方法把Widget加入到父容器中,并实现布局。

在createWidgets()方法中,创建一个Label和一个Button,当Button被点击时,触发self.quit()使程序退出。

实例化Application,并启动消息循环:

app =Application()#设置窗口标题:

app.master.title('Hello World')#主消息循环:

app.mainloop()

GUI程序的主线程负责监听来自操作系统的消息,并依次处理每一条消息

再对这个GUI程序改进一下,加入一个文本框,让用户可以输入文本,然后点按钮后,弹出消息对话框。

from tkinter import *

importtkinter.messagebox as messageboxclassApplication(Frame):def __init__(self, master=None):

Frame.__init__(self, master)

self.pack()

self.createWidgets()defcreateWidgets(self):

self.nameInput=Entry(self)

self.nameInput.pack()

self.alertButton= Button(self, text='Hello', command=self.hello)

self.alertButton.pack()defhello(self):

name= self.nameInput.get() or 'world'messagebox.showinfo('Message', 'Hello, %s' %name)

app=Application()#设置窗口标题:

app.master.title('Hello World')#主消息循环:

app.mainloop()

当用户点击按钮时,触发hello(),通过self.nameInput.get()获得用户输入的文本后,使用tkMessageBox.showinfo()可以弹出消息对话框。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python widget_python 图形界面 的相关文章

  • Conda 常用指令 (Mac)【下载 安装 环境配置 查看 创建 激活 配置cuda 拷贝环境】

    本文旨在介绍用conda配置一个新的深度学习环境的全过程 下载Anaconda 在 官网 中下载与python版本匹配的Anaconda Python与Anaconda版本匹配如下 图片源自 该博客 在本例中我下载的 Anaconda3 2
  • 12篇顶会论文,深度学习时间序列预测经典方案汇总

    早期的时间序列预测主要模型是诸如ARIMA这样的单序列线性模型 这种模型对每个序列分别进行拟合 在ARIMA的基础上 又提出了引入非线性 引入外部特征等的优化 然而 ARIMA类模型在处理大规模时间序列时效率较低 并且由于每个序列分别独立拟
  • aistudio提示找不到包,通过直接下载整个PaddleNLP的repo文件执行

    git clone https gitee com AI Mart PaddleNLP cd PaddleNLP python setup py install pip install regex nltk beautifulsoup4 当
  • mysql 同步失败_线上MYSQL同步报错故障处理方法总结

    前言 在发生故障切换后 经常遇到的问题就是同步报错 下面是最近收集的报错信息 记录删除失败 在master上删除一条记录 而slave上找不到 Last SQL Error Could not execute Delete rows eve
  • C语言执行过程

    系列1 C语言执行过程 系列2 C程序方法调用 系列3 CS IP 寄存器 本文中涉及的代码地址 analyseExecutionOfC 文件结构 analyse execution of c compilePreProcessSource
  • [失败] 网易云音乐爬虫分析

    网易云音乐js破解分析 大家好 我是W 最近在搞毕设相关的材料 所以很久没有敲代码和写博客了 刚好 一个同学有个需求 要获取网易云音乐的歌曲id和封面地址 然后用外链播放 相当于在他的系统里加一个小功能 锦上添花 所以来找到我 刚开始我觉得
  • module xxx has no attribute

    授人以鱼不如授人以渔 希望这篇文章可以帮助大家解决一系列类似的问题 大家耐心看下去 肯定会有收获 今天看见一篇博客解决问题的思路给了我很大的启发 于是我就将他记录下来 大家可以一起学习一下 在文章的最后我也会挂出他的链接 这里具体为具体错误
  • Python操作SQL中json格式的问题

    1 json中的引号必须使用双引号 在mysql中双引号和单引号可以互换 但不可混合使用 需成对出现 mysql支持存储json格式数据 但是写入时json内容中引号必须使用双引号 否则出现下述错误 pymysql err Operatio
  • 超分辨率基础

    超分辨率综述 Image Super resolution 的深度学习方法 微信二维码引擎OpenCV开源 微信扫码背后的图像超分辨率技术 技术解析 即构移动端超分辨率技术 DIV2K数据集下载 B100 Manga109 Set5 Set
  • firefly框架分析之netconnect package(一)

    firefly下的目录结构如下 里面的各个包将会一一的介绍 今天先开始看看netconnect包 该包下面这些模块从connection开始 Connection py 与客户端的连接对象 通过其与客户端通讯 向客户端发送封装过的数据 还可
  • Qt源码解析1---D指针原理

    D指针 什么是d指针 如果你已经看过到Qt源文件像QLablel QPicture QLabel picture const Q D const QLabel if d gt picture return d gt picture retu
  • ChatGPT的接口在哪

    ChatGPT本身不是一个独立的接口 而是一个预训练的自然语言处理模型 如果您需要使用ChatGPT来实现某个自然语言处理任务 例如文本生成 问答等 您可以使用Python中的深度学习框架 如TensorFlow PyTorch 加载预训练
  • 谈我对于ajax的理解

    Ajax的全称是Asynchronous JavaScript and XML 中文名称定义为异步的JavaScript和XML Ajax是Web2 0技术的核心由多种技术集合而成 使用Ajax技术不必刷新整个页面 只需对页面的局部进行更新
  • qt 信号槽默认参数 toggled 和 trigger的区别

    toggled和trigger区别 1 toggle 类似开关 具有2个状态 打开 关闭 使用这个信号 是在这2个状态之间切换 2 trigger是一次性的 点击后 无法改变状态 要么是打开 要么是关闭 参考 http blog csdn
  • c# 对txt文件的读取与写入

    C txt文件分析 读取与写入 c 中对txt文件的读取写入在工作中用到的很多 今天写一个之前工作中用到的小demo 案例场景要求 txt文件中为很多条标记时间戳的报文 需要计算出每条报文从开始接收到结束用了多长时间 案例执行 如txt文件
  • Java数据结构和算法(一)——简介

    本系列博客我们将学习数据结构和算法 为什么要学习数据结构和算法 这里我举个简单的例子 编程好比是一辆汽车 而数据结构和算法是汽车内部的变速箱 一个开车的人不懂变速箱的原理也是能开车的 同理一个不懂数据结构和算法的人也能编程 但是如果一个开车
  • apk文件 -- 反编译

    源博客 https www cnblogs com mfrbuaa p 4588057 html 编译工具 apktool 资源文件获取 能够提取出图片文件和布局文件进行使用查看 dex2jar 将apk反编译成java源代码 classe
  • Python中多线程和线程池的使用方法

    Python是一种高级编程语言 它在众多编程语言中 拥有极高的人气和使用率 Python中的多线程和线程池是其强大的功能之一 可以让我们更加高效地利用CPU资源 提高程序的运行速度 本篇博客将介绍Python中多线程和线程池的使用方法 并提
  • ad9361收发异常问题分析

    最近在调试ad9361 发送都调试好了 但是接收一直没调试好 折腾了一个多月才搞定接收 根据官方提供的api代码 需要修改的有 1 修改reference clk rate参考时钟 2 修改xo disable use ext refclk

随机推荐

  • CTF——被改错的密码

    http ctf idf cn index php g game m article a index id 29 cca9cc444e64c8116a30la00559c042b4看着像一串MD5加密 但是实际不是 去掉中间的l 进行md5
  • 新手小白一看就懂的Excel技能之入门基础

    很多同学开开心心拿到新买的电脑 开机一看 桌面干干净净的 想打开Excel 半天找不到 这些痛 只有新手小白才能懂 今天 我给大家好好讲讲怎么使用Excel 鼠标左键点击电脑桌面左下角的 搜索 输入 Excel 看到 Microsoft O
  • 过拟合现象,原因,以及降低过拟合的方法

    一 什么是过拟合 为什么要避免过拟合 图1 1 Overfit Normal 上图是一张使用线性回归拟合二维样本数据的matlab输出图片 其中Normal曲线是使用使用了带参数空间限制的最小二乘法进行求解的模型 Overfit曲线是使用最
  • 微服务中常用的注解

    注解的定义 Annotation 注解 用于为Java代码提供元数据 简单理解注解可以看做是一个个标签 用来标记代码 是一种应用于类 方法 参数 变量 构造器及包的一种特殊修饰符 1 Target 表示该注解类型所使用的程序元素类型 结合E
  • 机器学习实践(一)—sklearn之概述

    1956年 人工智能元年 人类能够创造出人类还未知的东西 这未知的东西人类能够保证它不误入歧途吗 一 机器学习和人工智能 深度学习的关系 机器学习是人工智能的一个实现途径 深度学习是机器学习的一个方法发展而来 二 机器学习 深度学习的应用场
  • Office 2019 for Mac 安装

    1 下载微软官方Office 2019 for Mac 64位 大小 1 7G 2 按照提示安装Office 2019 for Mac 3 下载14743217 Microsoft Office 2019 VL Serializer安装器
  • 发qq邮件被对方服务器拒绝,QQ被对方拉黑了。我发QQ邮件对对方能收到吗?

    QQ被对方拉黑了 我发QQ邮件对对方能收到吗 以下文字资料是由 历史新知网www lishixinzhi com 小编为大家搜集整理后发布的内容 让我们赶快一起来看一下吧 QQ被对方拉黑了 我发QQ邮件对对方能收到吗 拉黑删除能收到的 邮件
  • Scrapy实战案例--抓取股票数据并存入SQL数据库(JS逆向)

    目标网址 http webapi cninfo com cn marketDataZhishu 之前在这篇文章里面对该网站的JS进行了一个逆向的解析 JS逆向解析案例 接下来我们来创建一个Scrapy项目来爬取某潮的数据并保存在数据库中 过
  • 基于LayUI+Servlet的权限管理系统的设计

    权限管理是所有后台系统的都会涉及的一个重要组成部分 主要目的是对不同的人访问资源进行权限的控制 避免因权限控制缺失或操作不当引发的风险问题 如操作错误 隐私数据泄露等问题 本系统基于JSP Servlet JDBC LayUI的技术 在系统
  • WebRTC打开本地摄像头

    本文使用WebRTC的功能 打开电脑上的摄像头 并且把摄像头预览到的图像显示出来 纯网页实现 能支持除IE外的多数浏览器 手机浏览器也可用 本文链接 引入依赖 我们需要引入adapter latest js 这个WebRTC adapter
  • 计算机中模板与母版的区别,ppt中母版模板主题版式之间的区别和联系?

    ppt中母版模板主题版式之间的区别和联系 由会员分享 可在线阅读 更多相关 ppt中母版模板主题版式之间的区别和联系 1页珍藏版 请在人人文库网上搜索 1 模板是现成的样式 包括图片动画等 直接输入内容就可以使用了 母版是自己设计模板的菜单
  • STM32单片机Flash模拟EEPROM

    摘要 STM32单片机都带有ROM和RAM 其中STM32根据自身的ROM Flash 可以分为小容量产品 中容量产品 大容量产品 根据FLASH容量可以分为 小容量 0 32K 中容量 64 128K 大容量 256K以上 包含256K
  • 【Green公式】Hunter’s Apprentice(判断多边形为顺时针或逆时针)--鞋带公式

    题目描述 When you were five years old you watched in horror as a spiked devil murdered your parents You would have died too
  • C语言字节对齐

    文章来源于 点击打开链接 文章最后本人做了一幅图 一看就明白了 这个问题网上讲的不少 但是都没有把问题说透 一 概念 对齐跟数据在内存中的位置有关 如果一个变量的内存地址正好位于它长度的整数倍 他就被称做自然对齐 比如在32位cpu下 假设
  • ElasticSearch基础操作入门

    参考 4条消息 教你快速入门ElasticSearch 超详细简单 暗余的博客 CSDN博客 elasticsearch菜鸟教程 一个索引就是一个拥有几分相似特征的文档的集合 使用Chrome浏览器ElasticSearch Head 具体
  • 巨潮资讯网年报爬虫

    巨潮资讯网年报爬虫 代码直接复制即可使用 这是一个Post请求爬虫 与Get请求存在一点小区别 不过核心思想是一致的 Tips 需要在py文件夹目录下 新建一个 年报 名称的文件夹 存放下载的报表 同时在py文件夹目录下 需要一个stock
  • 游戏开发Unity杂项知识系列: CSharpCodeProvider could not be found in the namespace Micrrosoft.CSharp

    unity 进行build and run 时报错 The type name CSharpCodeProvider could not be found in the namespace Microsoft CSharp This typ
  • numpy学习笔记

    Numpy基础数据结构 NumPy数组是一个多维数组对象 称为ndarray 其由两部分组成 实际的数据 描述这些数据的元数据 import numpy as np import time ar np array 1 2 3 4 5 6 7
  • 什么是拷贝构造函数?拷贝构造函数何时被调用

    1 什么是拷贝构造函数 CA const CA C 就是我们自定义的拷贝构造函数 可见 拷贝构造函数是一种特殊的构造函数 函数的名称必须和类名称一致 它的唯一的一个参数是本类型的一个引用变量 该参数是const类型 不可变的 例如 类X的拷
  • python widget_python 图形界面

    Python自带的库是支持Tk的Tkinter 使用Tkinter 无需安装任何包 就可以直接使用 Tk是一个图形库 支持多个操作系统 导入Tkinter包的所有内容 from tkinter import 从Frame派生一个Applic