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 相关文章推荐
wxpython学习笔记(推荐查看)
Jun 09 Python
简单介绍Python中用于求最小值的min()方法
May 15 Python
在Django同1个页面中的多表单处理详解
Jan 25 Python
Python中sort和sorted函数代码解析
Jan 25 Python
Python实现的多进程和多线程功能示例
May 29 Python
python 获取字符串MD5值方法
May 29 Python
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
May 30 Python
python画双y轴图像的示例代码
Jul 07 Python
解决python有时候import不了当前的包问题
Aug 28 Python
如何基于Python + requests实现发送HTTP请求
Jan 13 Python
tensorflow入门:TFRecordDataset变长数据的batch读取详解
Jan 20 Python
python自动化测试之Selenium详解
Mar 13 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
全国FM电台频率大全 - 31 新疆维吾尔族自治区
2020/03/11 无线电
php数据库连接
2006/10/09 PHP
一些使用频率比较高的php函数
2008/10/03 PHP
深入for,while,foreach遍历时间比较的详解
2013/06/08 PHP
thinkPHP实现将excel导入到数据库中的方法
2016/04/22 PHP
thinkPHP自动验证机制详解
2016/12/05 PHP
PHP实现的文件操作类及文件下载功能示例
2016/12/24 PHP
用javascript实现页面打印的三种方法
2007/03/05 Javascript
js同时按下两个方向键
2007/12/01 Javascript
node.js解决获取图片真实文件类型的问题
2014/12/20 Javascript
node-webkit打包成exe文件被360误报木马的解决方法
2015/03/11 Javascript
JavaScript为事件句柄绑定监听函数实例详解
2015/12/15 Javascript
jQuery+ajax实现实用的点赞插件代码
2016/07/06 Javascript
又一款js时钟!transform实现时钟效果
2016/08/15 Javascript
JavaScript中Math对象的方法介绍
2017/01/05 Javascript
JS 组件系列之 bootstrap treegrid 组件封装过程
2017/04/28 Javascript
javascript 作用于作用域链的详解
2017/09/27 Javascript
Vue实现自定义下拉菜单功能
2018/07/16 Javascript
深入浅析Node环境和浏览器的区别
2018/08/14 Javascript
jQuery基于随机数解决中午吃什么去哪吃问题示例
2018/12/29 jQuery
实例分析Array.from(arr)与[...arr]到底有何不同
2019/04/09 Javascript
JS中数据结构与算法---排序算法(Sort Algorithm)实例详解
2019/06/17 Javascript
layui在form表单页面通过Validform加入简单验证的方法
2019/09/06 Javascript
js实现鼠标切换图片(无定时器)
2021/01/27 Javascript
python实现rest请求api示例
2014/04/22 Python
python如何将图片转换为字符图片
2020/08/19 Python
python算法与数据结构之单链表的实现代码
2019/06/27 Python
Python利用全连接神经网络求解MNIST问题详解
2020/01/14 Python
lookfantastic荷兰:在线购买奢华护肤、护发和化妆品
2018/11/27 全球购物
投标保密承诺书
2014/05/19 职场文书
离婚协议书的书写要求
2014/09/17 职场文书
乡镇干部个人整改措施思想汇报
2014/10/10 职场文书
财务工作检讨书
2014/10/29 职场文书
2015大学迎新晚会主持词
2015/07/16 职场文书
观看禁毒宣传片后的感想
2015/08/11 职场文书
《雪域豹影》读后感:父爱的伟大
2019/12/23 职场文书