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实现的简单算术游戏实例
May 26 Python
python插入排序算法实例分析
Jul 03 Python
python数字图像处理之高级形态学处理
Apr 27 Python
python元组和字典的内建函数实例详解
Oct 22 Python
利用Python绘制Jazz网络图的例子
Nov 21 Python
Python字符串的修改方法实例
Dec 19 Python
解析pip安装第三方库但PyCharm中却无法识别的问题及PyCharm安装第三方库的方法教程
Mar 10 Python
python sitk.show()与imageJ结合使用常见的问题
Apr 20 Python
使用pycharm和pylint检查python代码规范操作
Jun 09 Python
python获取百度热榜链接的实例方法
Aug 25 Python
浅析Python 字符编码与文件处理
Sep 24 Python
tensorflow学习笔记之tfrecord文件的生成与读取
Mar 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
DC四月将推出百页特刊漫画 纪念小丑诞生80周年
2020/04/09 欧美动漫
一个颜色轮换的简单例子
2006/10/09 PHP
PHP+MYSQL会员系统的登陆即权限判断实现代码
2011/09/23 PHP
php动态实现表格跨行跨列实现代码
2012/11/06 PHP
php实现生成验证码实例分享
2016/04/10 PHP
yii2.0实现创建简单widgets示例
2016/07/18 PHP
JavaScript 未结束的字符串常量常见解决方法
2010/01/24 Javascript
jQuery实现form表单reset按钮重置清空表单功能
2012/12/18 Javascript
基于javascript 闭包基础分享
2013/07/10 Javascript
javascript动态向网页中添加表格实现代码
2014/02/19 Javascript
可恶的ie8提示缺少id未定义
2014/03/20 Javascript
JS实现图片无间断滚动代码汇总
2014/07/30 Javascript
jQuery 重复加载错误以及修复方法
2014/12/16 Javascript
深入理解JavaScript系列(17):面向对象编程之概论详细介绍
2015/03/04 Javascript
tuzhu_req.js 实现仿百度图片首页效果
2015/08/11 Javascript
学习JavaScript设计模式之代理模式
2016/01/12 Javascript
JavaScript重载函数实例剖析
2016/05/13 Javascript
js 实现数值的千分位及保存小数方法(推荐)
2016/08/01 Javascript
分享JS数组求和与求最大值的方法
2016/08/11 Javascript
jQuery常用选择器详解
2017/07/17 jQuery
详解webpack3如何正确引用并使用jQuery库
2017/08/26 jQuery
html中通过JS获取JSON数据并加载的方法
2017/11/30 Javascript
vue使用xe-utils函数库的具体方法
2018/03/06 Javascript
vue中使用heatmapjs的示例代码(结合百度地图)
2018/09/05 Javascript
layui-tree实现Ajax异步请求后动态添加节点的方法
2019/09/23 Javascript
vue.js click点击事件获取当前元素对象的操作
2020/08/07 Javascript
python3连接kafka模块pykafka生产者简单封装代码
2019/12/23 Python
基于html5 canvas做批改作业的小插件
2020/05/20 HTML / CSS
自荐书模板
2013/12/19 职场文书
七年级数学教学反思
2014/01/22 职场文书
前厅部经理岗位职责范文
2014/02/04 职场文书
爽歪歪广告词
2014/03/20 职场文书
彩色的翅膀教学反思
2014/04/25 职场文书
2014年校长工作总结
2014/12/11 职场文书
保险内勤岗位职责
2015/04/13 职场文书
使用nginx动态转换图片大小生成缩略图
2021/03/31 Servers