python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例


Posted in Python onMarch 04, 2020

注意主窗口一定要为tk.Tk(),在主窗口上通过button的点击相应子函数创建子窗口,注意此时创建出来的窗口必须是Toplevel,否则出错。

至于用图片在窗口上绘图,则按代码所示即可。

# -*- coding: utf-8 -*-

"""
Created on Wed Oct 26 20:32:52 2016

@author: min
"""

import Tkinter as tk
from PIL import Image, ImageTk 
global attackTime
attackTime=1


def show1():
  top1=tk.Toplevel()
  image = Image.open('random.jpg') 
  img = ImageTk.PhotoImage(image)
  canvas1 = tk.Canvas(top1, width = image.width*2 ,height = image.height*2, bg = 'white')
  canvas1.create_image(0,0,image = img,anchor="nw")
  canvas1.create_image(image.width,0,image = img,anchor="nw")
  canvas1.pack()  
  top1.mainloop()


def show2():
  top1=tk.Toplevel()
  image = Image.open('random.jpg') 
  img = ImageTk.PhotoImage(image)
  canvas = tk.Canvas(top1, width = image.width ,height = image.height, bg = 'white')
  canvas.create_image(0,0,image = img,anchor="nw")
  canvas.pack()  
  top1.mainloop()


def showMessage():
  top=tk.Toplevel()
  l=tk.Label(top,text='Attacks cost '+str(attackTime)+' s',width=20)
  l.pack()
  top.mainloop()
  
root=tk.Tk()
b1=tk.Button(root,text='start1',command=show1)
b1.pack()
b2=tk.Button(root,text='start2',command=showMessage)
b2.pack()
root.mainloop()

补充知识:关于Python tkinter中出现的坑(界面Tk()+图片显示)

一、关于Python3的tkinter模块

1、首先关于创建Python的窗口是导入 import tkinter 或者 from tkinter import * 这两种形式。关于创建tkinter 的大家耳熟能详的就是直接 win=Tk()[在导入方式为from tkinter import *形式下],但是还有另一种方法用来创建窗口那就是:win=Toplevel(),这个代表的是创建二级界面,就是直接创建两个界面,这个方法非常实用,应用在多个函数调用并生成Python窗口上面。小逸亲自尝试了一下,相当的好哈哈~~~~

2、Toplevel()实际操作。

首先,我们在Python3的环境下写下以下简单的代码:

from tkinter import *

win=Toplevel()

win.title=("这是一个二级界面")

win.geometry("500x300+10+10")

win.mainloop()

上面的代码运行后将出现以下的两个窗口:

python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例

二、# 关于在Label中显示图片的大坑

1、在Label 中显示图片需要用到tkinter 与pillow这两个模块

单独运行一个在tkinter上显示的图片没有问题,但是如果把这个显示图片的函数放在一个Button的command中,那么就算用二级界面也不行了,这个是一个非常大的坑,但是解决方法也非常非常的简单。只要将处理图片的两行代码放在外面就行了。如图:

python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例

以上这篇python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
利用Python中的mock库对Python代码进行模拟测试
Apr 16 Python
Python标准库defaultdict模块使用示例
Apr 28 Python
浅谈Pandas中map, applymap and apply的区别
Apr 10 Python
python用BeautifulSoup库简单爬虫实例分析
Jul 30 Python
Python List列表对象内置方法实例详解
Oct 22 Python
wxpython实现按钮切换界面的方法
Nov 19 Python
Python Print实现在输出中插入变量的例子
Dec 25 Python
Flask模板引擎Jinja2使用实例
Apr 23 Python
Python实现LR1文法的完整实例代码
Oct 25 Python
Pycharm Plugins加载失败问题解决方案
Nov 28 Python
python爬虫请求头的使用
Dec 01 Python
只用40行Python代码就能写出pdf转word小工具
May 31 Python
Python: tkinter窗口屏幕居中,设置窗口最大,最小尺寸实例
Mar 04 #Python
关于Python Tkinter Button控件command传参问题的解决方式
Mar 04 #Python
在python tkinter界面中添加按钮的实例
Mar 04 #Python
Python tkinter布局与按钮间距设置方式
Mar 04 #Python
python 按钮点击关闭窗口的实现
Mar 04 #Python
Tkinter中复选菜单是否被选中的判断与设置方式
Mar 04 #Python
python虚拟环境模块venv使用及示例
Mar 04 #Python
You might like
用PHP调用数据库的存贮过程!
2006/10/09 PHP
使用jQuery模板来展现json数据的代码
2010/10/22 Javascript
分别用marquee和div+js实现首尾相连循环滚动效果,仅3行代码
2011/09/21 Javascript
如何判断元素是否为HTMLElement元素
2013/12/06 Javascript
jQuery中的val()示例应用
2014/02/26 Javascript
使用jQuery实现WordPress中的Ctrl+Enter和@评论回复
2016/05/21 Javascript
多种jQuery绑定事件的实现方式
2016/06/13 Javascript
JavaScript——DOM操作——Window.document对象详解
2016/07/14 Javascript
AngularJS基础 ng-mouseover 指令简单示例
2016/08/02 Javascript
Bootstrap Table使用整理(三)
2017/06/09 Javascript
5分钟打造简易高效的webpack常用配置
2017/07/04 Javascript
Node.js成为Web应用开发最佳选择的原因
2018/02/05 Javascript
nodejs多版本管理总结
2018/04/03 NodeJs
微信小程序将字符串生成二维码图片的操作方法
2018/07/17 Javascript
vue中uni-app 实现小程序登录注册功能
2019/10/12 Javascript
微信小程序自定义弹出层效果
2020/05/26 Javascript
JavaScript实现像雪花一样的Hexaflake分形
2020/07/07 Javascript
解决vue无法侦听数组及对象属性的变化问题
2020/07/17 Javascript
Python爬虫实例_利用百度地图API批量获取城市所有的POI点
2018/01/10 Python
一个简单的python爬虫程序 爬取豆瓣热度Top100以内的电影信息
2018/04/17 Python
Python 网络编程之TCP客户端/服务端功能示例【基于socket套接字】
2019/10/12 Python
Python解析多帧dicom数据详解
2020/01/13 Python
推荐一些比较有用的css3新属性
2014/11/11 HTML / CSS
基于HTML5 FileSystem API的使用介绍
2013/04/24 HTML / CSS
详解淘宝H5 sign加密算法
2020/08/25 HTML / CSS
STAUD官方网站:洛杉矶独有的闲适风格
2019/04/11 全球购物
Gerry Weber德国官网:优质女性时装,德国最大的时装公司之一
2019/11/02 全球购物
本科毕业生自我鉴定
2013/11/02 职场文书
实习单位评语
2014/04/26 职场文书
三八妇女节活动总结
2014/05/04 职场文书
政风行风整改方案
2014/10/25 职场文书
2015年毕业生个人自荐书
2015/03/24 职场文书
学校运动会简讯
2015/07/20 职场文书
幼儿园大班教育随笔
2015/08/14 职场文书
小学班主任教育随笔
2015/08/15 职场文书
八年级地理课件资料及考点知识分享
2019/08/30 职场文书