这篇文章会给大家仔细讲解几个Python GUI的例子。

创建简单的GUI应用

from tkinter import *

window = Tk()

window.title("Hello World")

window.mainloop()

Tkinter是绑定到Tk GUI工具箱的Python。Window在这里就是窗口的意思并且标题是"Hello World"。 mainloop这里表示以上的事件进入循环。

如果你得到和上面图片一样的画面, 那么你就成功完成了一个简单的GUI应用! 但这个窗口上什么都没有, 我们可以加一点东西上去。

添加标签(label)

我们可以通过标签打个招呼。

lbl = Label(window, text="Hello ")

lbl.grid(column=0, row=0)

我们将这个标签放在(0,0)的位置。 这个可以理解为这个窗口的最左上角的坐标是(0,0),依次增加。

from tkinter import *

window = Tk()

window.title("Hello World")

lbl = Label(window, text="Hello")

lbl.grid(column=0, row=0)

window.mainloop()

但是我们发现这个页面变的很小 ?! 这样可不行,有什么办法让它变大么? 当然。

改变窗口的大小

window.geometry('350x200')

这里将这个窗口改成350x200的大小

from tkinter import *

window = Tk()

window.title("Hello World")

window.geometry('350x200')

lbl = Label(window, text="Hello")

lbl.grid(column=0, row=0)

window.mainloop()

这个看上起舒服多了。接着我们尝试将自己的名字加进这个页面。这个时候我们需要考虑一个问题:如果这是一个客户使用的应用, 我们该怎么通过什么方式让客户输入自己的名字呢?因为不是每个客户都会用我们正在用的编译器, 所以我们需要一个客户可以输入的特定的地方。

添加文本输入

txt = Entry(window,width=10)

txt.grid(column=1, row=0)

这里我们将文本框的位置放在紧跟标签的后面。并且为了让文字更加通顺, 我们稍稍改一下标签的内容

from tkinter import *

window = Tk()

window.title("Hello World")

window.geometry('350x200')

lbl = Label(window, text="Hello! My name is ")

lbl.grid(column=0, row=0)

txt = Entry(window,width=10)

txt.grid(column=1, row=0)

window.mainloop()

当我输入Stark后

接下来,我们可以考虑加入按钮来让这个应用更饱满。

添加按钮

btn = Button(window, text="submit")

要注意, 这个时候点击按钮是没有任何反应的,因为我们没有给这个按钮任何的功能。

from tkinter import *

window = Tk()

window.title("Hello World")

window.geometry('350x200')

lbl = Label(window, text="Hello! My name is ")

lbl.grid(column=0, row=0)

txt = Entry(window,width=10)

txt.grid(column=1, row=0)

btn = Button(window, text="submit")

btn.grid(column=2, row=0)

window.mainloop()

按钮的位置紧跟文本框后面

然后让我们假设一下: 面对我们的是一个机器人, 我们确认输入的名字后可以得到机器人的回应。

按钮的功能以及方程

btn = Button(window, text="submit", command=clicked)

我们给这个按钮加入一个点击(clicked)指令。

def clicked():

res = "Welcome to a new world," + txt.get()

lbl.configure(text= res)

txt.destroy()

btn.grid_forget()

clikced这个方程是点击按钮之后会出现的反应。 我把它称作按钮的功能。 txt.get()是用来得到文本框里的内容, 然后将标签的内容替换成机器人(延续上面的例子)的回应, 最后删除文本框和按钮(保留的话会显得奇怪)

from tkinter import *

window = Tk()

window.title("Hello World")

window.geometry('350x200')

lbl = Label(window, text="Hello! My name is ")

lbl.grid(column=0, row=0)

txt = Entry(window,width=10)

txt.grid(column=1, row=0)

def clicked():

res = "Welcome to a new world," + txt.get()

lbl.configure(text= res)

txt.destroy()

btn.grid_forget()

btn = Button(window, text="submit", command=clicked)

btn.grid(column=2, row=0)

window.mainloop()

当我输入我的名字后, 会得到一条对我的打招呼。

以上就是几个简单Python GUI例子的讲解。 希望对大家有帮助。

保持好奇心,保持学习性。感谢大家的阅读~

python和gui结合实例_Python GUI —— 简单例子+讲解相关推荐

  1. python多线程实现生产者消费者_用Python实现多线程“生产者-消费者”模型的简单例子...

    用 Python 实现多线程"生产者 - 消费者"模型的简单例子 生产者消费者问题是一个著名的线程同步问题, 该问题描述如下: 有一个生产者在生产产品, 这些产品将提供给若干个消费 ...

  2. python编程超市购物系统_python实现简单购物车系统(练习)

    #!Anaconda/anaconda/python#coding: utf-8 #列表练习,实现简单购物车系统 product_lists= [('iphone',5000), ('computer ...

  3. python菜单栏添加子菜单_python添加菜单图文讲解

    分享一个基于tkinter的菜单程序添加操作,希望对需要的朋友有帮助. 打开python集成开发环境,使用 from tkinter import Tk from tkinter import Men ...

  4. python menu实例_python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例...

    PyQt5菜单栏控件QMenuBar介绍 QMenuBar在QMainWindow对象的标题栏下方,水平的QMenuBar被保留显示QMenu对象 QMenuBar类提供了一个可以包含一个或多个QAc ...

  5. python界面编程实例_python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例...

    在默认情况下,我们使用PyQt5创建出来的窗口和部件都是默认的样式,虽然谈不上很丑,但是也毫无美感可言.其实,在PyQt5中,我们可以有较高的自由度来自定义窗口和各种小部件的样式,通过自定义这些样式, ...

  6. python可视化拖拽平台_python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例...

    PyQt5数据拖曳Drag与Drop介绍 为用户提供的拖曳功能很直观,在很对桌面应用程序中,复制或移动对象都可以通过拖曳来完成 基于MIME类型的拖曳数据传输是基于QDrag类的,QMimeData对 ...

  7. python gui界面实例_Python界面(GUI)编程PyQt5工具栏和菜单

    工具栏 工具栏是最常见的用户界面元素之一.工具栏是用于在应用程序中执行常见任务的图标和文本栏. Qt工具栏支持图标,文本的显示,还可以包含任何标准Qt小部件.但是,对于按钮,最好的方法是利用QActi ...

  8. python gui 显示表格_python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例...

    PyQt5表格控件QTableView简介 在通常情况下,一个应用需要和一批数据进行交互,然后以表格的形式输出这些信息,这时就需要用到QTableView类了,在QTableView中可以使用自定义的 ...

  9. python怎么让按钮乱跑_python GUI实现小球满屏乱跑效果

    本文实例为大家分享了python GUI实现小球满屏乱跑效果的具体代码,供大家参考,具体内容如下 学习tkinter有一段时间了,综合运用一下,做一个类似屏保类的东西,碰到屏幕边缘就反弹回来的那种. ...

最新文章

  1. 单片机怎么跳出循环_自学单片机第二十七篇:矩阵按键的硬件测试
  2. 【LOJ】#2084. 「NOI2016」网格
  3. VTK:网格之SubdivisionDemo
  4. mysql时间字段条件查询_mysql 查询 时间作为查询条件
  5. 计算机网络基础实训精品课,《计算机网络技术》精品课程建设总结报告【荐】.doc...
  6. DOM Element对象的offsetXXX方法
  7. 不要错过路边的的风景
  8. 网站免费空间和服务器的区别,网站空间和服务器的区别
  9. python里面的高级特性
  10. 封城第12日,冰箱都快塞不下咯(附菜谱分享)
  11. soapui返回值类型都有哪些_小程序都有哪些类型,开发小程序效果如何
  12. C. Balanced Stone Heaps
  13. linux清理垃圾文件,安装及使用Sweeper从Linux系统上清除垃圾文件
  14. python爬取微博恶评_详解用python写网络爬虫-爬取新浪微博评论
  15. Flutter系列(二)flutter项目打安装包
  16. 【产业互联网周报】AI独角兽们集体亮相安博会,侧重点各不相同;BAT智慧城市布局进一步加深...
  17. 物联网的七大通信协议
  18. ActiveMQ的传输协议
  19. 设计模式讲解与代码实践(二十三)——模板方法
  20. Java实现复数的加减乘除

热门文章

  1. mitmproxy可谓神器乎?
  2. 经过5年的娱乐功能,编码传奇MPJ踏上了他的下一个大旅程
  3. instagram架构_如何为亚马逊,Instagram,Zalando和天猫生成产品图像
  4. 什么是端到端训练测试_为什么端到端测试对您的团队很重要
  5. springMVC操作mongoDB增删改查
  6. python 删除尾部0_python之List常见操作
  7. SpringBoot-异常处理
  8. 用Python一键生成炫酷九宫格图片,火了朋友圈
  9. enableEventValidation错误原因分析以及解决办法
  10. asp.net通过webservice调用java接口全过程_100-RPC、RMI、WebService、httpClient、跨域、集群部署...