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 基础教程之包和类的用法
Feb 23 Python
Python简单网络编程示例【客户端与服务端】
May 26 Python
详解python实现读取邮件数据并下载附件的实例
Aug 03 Python
基于Django filter中用contains和icontains的区别(详解)
Dec 12 Python
python使用Tkinter实现在线音乐播放器
Jan 30 Python
全面分析Python的优点和缺点
Feb 07 Python
详解python中的time和datetime的常用方法
Jul 08 Python
Python实现把类当做字典来访问
Dec 16 Python
Python 脚本的三种执行方式小结
Dec 21 Python
python 使用递归回溯完美解决八皇后的问题
Feb 26 Python
使用OpenCV校准鱼眼镜头的方法
Nov 26 Python
教你怎么用python selenium实现自动化测试
May 27 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静态类的原罪详解
2013/05/06 PHP
Thinkphp中Create方法深入探究
2014/06/16 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
2016/07/13 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
jquery中的sortable排序之后的保存状态的解决方法
2010/01/28 Javascript
autoPlay 基于jquery的图片自动播放效果
2011/12/07 Javascript
提升jQuery的性能需要做好七件事
2016/01/11 Javascript
基于jQuery的表单填充实例
2017/08/22 jQuery
vue router demo详解
2017/10/13 Javascript
js通过Date对象实现倒计时动画效果
2017/10/27 Javascript
浅谈VUE-CLI脚手架热更新太慢的原因和解决方法
2018/09/28 Javascript
Vue+ElementUI项目使用webpack输出MPA的方法
2019/08/27 Javascript
使用localStorage替代cookie做本地存储
2019/09/25 Javascript
小程序调用微信支付的方法
2019/09/26 Javascript
nodejs实现UDP组播示例方法
2019/11/04 NodeJs
JavaScript 实现下雪特效的示例代码
2020/09/09 Javascript
vue-quill-editor插入图片路径太长问题解决方法
2021/01/08 Vue.js
python模块restful使用方法实例
2013/12/10 Python
在Docker上开始部署Python应用的教程
2015/04/17 Python
python 容器总结整理
2017/04/04 Python
Python实现的排列组合计算操作示例
2017/10/13 Python
分享一个pycharm专业版安装的永久使用方法
2019/09/24 Python
Matplotlib 折线图plot()所有用法详解
2020/07/28 Python
python中的yield from语法快速学习
2020/11/06 Python
网页中的电话号码如何实现一键直呼效果_附示例
2016/03/15 HTML / CSS
印尼最大的在线购物网站:MatahariMall.com
2016/08/26 全球购物
GoPro摄像机美国官网:美国运动相机厂商
2018/07/03 全球购物
趣味比赛活动方案
2014/02/15 职场文书
《威尼斯的小艇》教学反思
2014/02/17 职场文书
研究生考核个人自我鉴定
2014/03/27 职场文书
《穷人》教学反思
2014/04/08 职场文书
美术指导助理求职信
2014/04/20 职场文书
全国法制宣传日活动总结2014
2014/11/01 职场文书
2014保险公司内勤工作总结
2014/12/16 职场文书
起诉状范本
2015/05/20 职场文书
用JS实现飞机大战小游戏
2021/06/09 Javascript