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多线程抓取天涯帖子内容示例
Apr 03 Python
Python通过递归遍历出集合中所有元素的方法
Feb 25 Python
用Python计算三角函数之atan()方法的使用
May 15 Python
python将ansible配置转为json格式实例代码
May 15 Python
Python实现朴素贝叶斯分类器的方法详解
Jul 04 Python
Python实现的列表排序、反转操作示例
Mar 13 Python
Python3.7 新特性之dataclass装饰器
May 27 Python
Python 用三行代码提取PDF表格数据
Oct 13 Python
Python使用贪婪算法解决问题
Oct 22 Python
Django视图扩展类知识点详解
Oct 25 Python
浅谈Python 参数与变量
Jun 20 Python
Python爬虫设置Cookie解决网站拦截并爬取蚂蚁短租的问题
Feb 22 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/12/06 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
用javascript实现兼容IE7的类库 IE7_0_9.zip提供下载
2007/08/08 Javascript
JavaScript DOM 学习第七章 表单的扩展
2010/02/19 Javascript
jQuery对象和Javascript对象之间转换的实例代码
2013/03/20 Javascript
基于jquery的has()方法以及与find()方法以及filter()方法的区别详解
2013/04/26 Javascript
Jquery模仿Baidu、Google搜索时自动补充搜索结果提示
2013/12/26 Javascript
JavaScript和CSS交互的方法汇总
2014/12/02 Javascript
node.js下when.js 的异步编程实践
2014/12/03 Javascript
javascript实现根据3原色制作颜色选择器的方法
2015/07/17 Javascript
基于nodejs+express(4.x+)实现文件上传功能
2015/11/23 NodeJs
Three.js学习之正交投影照相机
2016/08/01 Javascript
详解如何较好的使用js
2016/12/16 Javascript
AngularJS1.X学习笔记2-数据绑定详解
2017/04/01 Javascript
微信小程序开发之map地图实现教程
2017/06/08 Javascript
VUE中的无限循环代码解析
2017/09/22 Javascript
浅谈 vue 中的 watcher
2017/12/04 Javascript
基于vue中解决v-for使用报红并出现警告的问题
2018/03/03 Javascript
你了解vue3.0响应式数据怎么实现吗
2019/06/07 Javascript
解决vue项目中某一页面不想引用公共组件app.vue的问题
2020/08/14 Javascript
[06:57]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD 选手采访
2021/03/11 DOTA
Python3 模块、包调用&路径详解
2017/10/25 Python
Python安装selenium包详细过程
2019/07/23 Python
基于Python实现拆分和合并GIF动态图
2019/10/22 Python
Python3爬虫关于代理池的维护详解
2020/07/30 Python
Numpy中的数组搜索中np.where方法详细介绍
2021/01/08 Python
HTML5 Canvas玩转酷炫大波浪进度图效果实例(附demo)
2016/12/14 HTML / CSS
美国创意之家:BulbHead
2017/07/12 全球购物
HolidayLettings英国:预订最好的度假公寓、别墅和自助式住宿
2019/08/27 全球购物
演讲稿怎么写
2014/01/07 职场文书
应聘文员自荐信范文
2014/03/11 职场文书
房地产财务部员工岗位职责
2014/03/12 职场文书
简单的离婚协议书范本
2014/11/16 职场文书
会计简历自我评价
2015/03/10 职场文书
毕业生捐书活动倡议书
2015/04/27 职场文书
python微信智能AI机器人实现多种支付方式
2022/04/12 Python