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实现去除下载电影和电视剧文件名中的多余字符的方法
Sep 23 Python
Python编程中time模块的一些关键用法解析
Jan 19 Python
Python排序搜索基本算法之堆排序实例详解
Dec 08 Python
python中的闭包函数
Feb 09 Python
几行Python代码爬取3000+上市公司的信息
Jan 24 Python
Python3实现的回文数判断及罗马数字转整数算法示例
Mar 27 Python
pyqt5 禁止窗口最大化和禁止窗口拉伸的方法
Jun 18 Python
python隐藏终端执行cmd命令的方法
Jun 24 Python
python 读取数据库并绘图的实例
Dec 03 Python
pytorch中的自定义数据处理详解
Jan 06 Python
TensorFlow2.0:张量的合并与分割实例
Jan 19 Python
python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法
Feb 26 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
提取HTML标签
2006/10/09 PHP
php中adodbzip类实例
2014/12/08 PHP
浅析PHP 中move_uploaded_file 上传中文文件名失败
2019/04/17 PHP
php+js实现的无刷新下载文件功能示例
2019/08/23 PHP
根据邮箱的域名跳转到相应的登录页面的代码
2012/02/27 Javascript
JS常见问题整理(持续更新)
2013/08/06 Javascript
Javascript 浮点运算的问题分析与解决方法
2013/08/27 Javascript
jquery选择器、属性设置用法经验总结
2013/09/08 Javascript
jquery通过select列表选择框对表格数据进行过滤示例
2014/05/07 Javascript
浅谈JavaScript数据类型
2015/03/03 Javascript
JavaScript如何实现对数字保留两位小数一位自动补零
2015/12/18 Javascript
Bootstrap Chart组件使用教程
2016/04/28 Javascript
浅谈addEventListener和attachEvent的区别
2016/07/14 Javascript
jQuery实现的小图列表,大图展示效果幻灯片示例
2016/10/25 Javascript
js学习总结_轮播图之渐隐渐现版(实例讲解)
2017/07/17 Javascript
教你如何用Node实现API的转发(某音乐)
2019/09/20 Javascript
vue单元格多列合并的实现
2020/11/26 Vue.js
[06:45]DOTA2卡尔工作室 英雄介绍幻影长矛手篇
2013/07/12 DOTA
[02:32]【DOTA2亚洲邀请赛】iceice,梦开始的地方
2017/03/13 DOTA
用Python写一段用户登录的程序代码
2018/04/22 Python
Python批量发送post请求的实现代码
2018/05/05 Python
python利用微信公众号实现报警功能
2018/06/10 Python
关于python多重赋值的小问题
2019/04/17 Python
python SQLAlchemy的Mapping与Declarative详解
2019/07/04 Python
python小程序实现刷票功能详解
2019/07/17 Python
html5中valid、invalid、required的定义
2014/02/21 HTML / CSS
Urban Outfitters英国官网:美国平价服饰品牌
2016/11/25 全球购物
德国前卫设计师时装在线商店:Luxury Loft
2019/11/04 全球购物
商务英语大学生职业生涯规划书范文
2014/01/01 职场文书
开业庆典策划方案
2014/02/18 职场文书
银行竞聘报告范文
2014/11/06 职场文书
优秀党务工作者先进事迹材料
2014/12/25 职场文书
廉政承诺书
2015/01/19 职场文书
小学家庭教育心得体会
2016/01/14 职场文书
陶瓷类经典广告语集锦
2019/10/25 职场文书
用Python远程登陆服务器的步骤
2021/04/16 Python