注意主窗口一定要为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()

上面的代码运行后将出现以下的两个窗口:

二、# 关于在Label中显示图片的大坑

1、在Label 中显示图片需要用到tkinter 与pillow这两个模块

单独运行一个在tkinter上显示的图片没有问题,但是如果把这个显示图片的函数放在一个Button的command中,那么就算用二级界面也不行了,这个是一个非常大的坑,但是解决方法也非常非常的简单。只要将处理图片的两行代码放在外面就行了。如图:

以上这篇python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

python窗口图形界面编程上传图片_python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例...相关推荐

  1. python爬取汽车之家_python爬虫实战之爬取汽车之家网站上的图片

    随着生活水平的提高和快节奏生活的发展.汽车开始慢慢成为人们的必需品,浏览各种汽车网站便成为购买合适.喜欢车辆的前提.例如汽车之家网站中就有最新的报价和图片以及汽车的相关内容,是提供信息最快最全的中国汽 ...

  2. python图形界面设计代码_python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方...

    PyQt5 Qt Designer (Qt设计师) PyQt5是对Qt所有类进行封装, Qt能开发的东西, PyQt都能开发. Qt是强大的GUI库之一, 用C++开发, 并且跨平台. PyQt双许可 ...

  3. c++mfc编写实验_零基础学Windows窗口图形界面编程(不用MFC),菜鸟学完变身高手,敢与专业媲美...

    又一门新的计算机课上线啦! 什么课?看下面视频(以下视频是本课第一讲) 用什么语言 我们声明一下(这个在我们课上也跟同学强调):不要为用什么语言掐架!那是初学者的行为,为高手所不为. 第二,我们这门课 ...

  4. 如何打开电脑c语言窗口,C语言控制台窗口图形界面编程(五). -电脑资料

    控制文本的移动是控制台窗口界面编程的一个很重要的功能,有了这个功能我们可以实现界面的滚动, BOOL ScrollConsoleScreenBuffer(      //文本移动函数 HANDLE h ...

  5. pyqt创建窗口没有句柄_Python GUI之Tkinter窗口视窗教程集合

    一.前言 由于本篇文章较长,所以如有部分是了解过的可直接跳过. 二.Tkinter是什么 Tkinter 是使用 python 进行窗口视窗设计的模块.Tkinter模块("Tk 接口&qu ...

  6. Python学习:图形界面设计01

    写在前面: 此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 传送门: Python实现输入电影名字自动生成豆瓣评论词云图 ...

  7. python打代码运行图形_利用aardio给python编写图形界面

    前阵子在用python写一些小程序,写完后就开始思考怎么给python程序配一个图形界面,毕竟控制台实在太丑陋了. 于是百度了下python的图形界面库,眼花缭乱的一整页,拣了几件有"特色& ...

  8. python爬虫网页中的图片_Python爬虫爬取一个网页上的图片地址实例代码

    本文实例主要是实现爬取一个网页上的图片地址,具体如下. 读取一个网页的源代码: import urllib.request def getHtml(url): html=urllib.request. ...

  9. python 图形界面窗体设计_Python 图形界面(GUI)设计

    原博文 2015-03-28 09:10 − 不要问我为什么要用 Python 来做这种事,我回到"高兴咋地"也不是不可以,总之好奇有没有好的解决方案.逛了一圈下来,总体上来说,P ...

最新文章

  1. Jackson 序列化对象成 JSON 字符串,忽略部分字段(属性)
  2. Redis进阶-Redis使用建议一二事
  3. Java反射实现几种方式
  4. Console Snacks[摘自Advanced Rails Recipes]
  5. emacs(考场+平时)配置方案
  6. 如何巧妙的运用好弹簧布局SpringLayout?
  7. Nginx+php+fastcgi的原理与关系
  8. 【机器人】从机械臂示教器导出编码器数据到U盘中的操作步骤
  9. 使用gc、objgraph干掉python内存泄露与循环引用!
  10. spark架构设计编程模型 02
  11. windows更新安装时出现此更新不适用于你的计算机的解决办法  dos 安装 msu
  12. 小米Pro搞Android开发,小米9 Pro真实体验到底如何?半个月上手告诉你!
  13. 人工智能 - 电子书下载(高清版PDF格式+EPUB格式)
  14. 计算机与打印机脱机后怎么共享,电脑重启后共享打印机脱机的解决方法
  15. 【网页设计自习室#004】网页页面导航栏(header头部)的设计
  16. 毕业论文引用参考文献的脚注方法
  17. 有点先生和差不多女士
  18. 苹果手机黑屏一直转圈怎么办
  19. 什么蓝牙耳机适合打游戏?打游戏不延迟的蓝牙耳机推荐
  20. Composer 国内镜像大全(可用镜像列表)

热门文章

  1. My SQL-4 函数
  2. 多线程调用生成主键流水号存储过程产生主键冲突问题解决方案
  3. jQtouch 初体验
  4. Serial Port接收数据完整性要求
  5. 假设无线打印服务器,如何把对对机通过WiFi变成微信打印机??
  6. 1900页Python系列PPT分享六:面向对象程序设计(86页)
  7. 傻瓜学python_傻瓜式学Python3——列表
  8. 基于android的百度地图_百度的71个炸天的开源项目
  9. 只用一个循环实现层序遍历
  10. java 多个timer_java – Timer正在创建多个计时器实例