代码如下

from tkinter import *
import tkinter
from tkinter import messagebox #定义了一个函数,当关闭window窗口时将会弹出一个消息框
def closewindow():
messagebox.showinfo(title="警告!",message="好好作答,不要敷衍!")
return def closeall():
window.destroy()#该语句的作用是摧毁窗口,即将创建的window窗口摧毁,因为所有其他控件与窗口都是在window这个窗口下创建的,所以当摧毁window窗口时其他窗口与控件都一起消失了
return
def closefool():
messagebox.showinfo(title="警告!", message="别妄想毁灭你是傻逼的罪证!")
return def closenofool():
nofool.destroy()
return
#当运行这个方法时将会在window这个窗口创建一个顶级窗口
def yes():
fool=Toplevel(window)#Topleve这个方法也是 tkinter模块中,当运行该语句时就会创建一个顶级窗口,该顶级窗口属于参数的一个附属窗口
fool.resizable(width=False, height=False)
fool.title("傻逼!你好!")
fool.geometry("237x395+600+200")
yeslable = Label(fool, text="我就知道你是傻逼!", font=("微软雅黑,15"),fg="red")
yeslable.grid(row=0, column=0, sticky=W)
# 建立一个图片类型的控件
fimglabel = Label(fool, image=fimg)
# 图片控件位置
fimglabel.grid(row=1, columnspan=2, sticky=W) # columnspan为图片所跨列数 yeslable2 = Label(fool, text="傻逼,留下姓名", font=("微软雅黑,15"), fg="green")
yeslable2.grid(row=2, column=0, sticky=W) entry=tkinter.Entry(fool,width=10,bg='red',font=("微软雅黑,30"))
entry.grid(row=2,column=1,sticky=E)
yesbtn=Button(fool,text="妈耶!点击我能关闭哦!",width=20,height=2,command=closeall)
yesbtn.grid(row=3,columnspan=2,sticky=W)
fool.protocol("WM_DELETE_WINDOW", closefool) def no():
messagebox.showinfo(title="警告!", message="你确定你不是傻逼吗,请你慎重考虑一下!")
return #使用方法Tk创建了一个窗口window
window=Tk()
#设置窗口大小不可调
window.resizable(width=False,height=False)
#为窗口设置标题
window.title("哈哈")
#设置窗口的大小
window.geometry("234x375")
#设置窗口位置
window.geometry("+400+200") #在窗口中添加控件
#在窗口中添加文字并设置样式
label1=Label(window,text="你好!傻逼!",font=("微软雅黑",10),fg="red")
#设置控件的位置,其中grid方法使用的时网格控制位置
label1.grid(row=0,column=0,sticky=E)#行,列,N(上)S(下)W(左)E(右) label2=Label(window,text="你是傻逼吗?",font=("微软雅黑",20),fg="blue")
#设置控件的位置,其中grid方法使用的时网格控制位置
label2.grid(row=1,column=1,sticky=E)#行,列,N(上)S(下)W(左)E(右) #显示一张图片
#导入2张图片
photo=PhotoImage(file="img.png")
fimg=PhotoImage(file="fg.png")
#建立一个图片类型的控件
imglabel=Label(window,image=photo,width=234,height=255)
#图片控件位置
imglabel.grid(row=2,columnspan=2,sticky=W)#columnspan为图片所跨列数 #设置按钮
#创建了一个按钮
btn1=Button(window,text="对,我是傻逼",width=10,height=2,command=yes)
#这里command参数的作用就是当你按下这个按钮时程序会执行yes这个函数。这个函数在上面定义过。
btn1.grid(row=5,column=0,sticky=W) #在创建一个按钮
btn2=Button(window,text="不,我不是!",width=10,height=1,command=no)
btn2.grid(row=5,column=1,sticky=E)
#当关闭window窗口时运行参数中closewindow方法
window.protocol("WM_DELETE_WINDOW",closewindow)
#显示窗口
window.mainloop()

python 利用tkinter模块设计出window窗口(搞笑版)的更多相关文章

  1. Python tkinter模块弹出窗口及传值回到主窗口操作详解

    这篇文章主要介绍了Python tkinter模块弹出窗口及传值回到主窗口操作,结合实例形式分析了Python使用tkinter模块实现的弹出窗口及参数传递相关操作技巧,需要的朋友可以参考下 本文实例 ...

  2. Python之Tkinter模块学习

    本文转载自:http://www.cnblogs.com/kaituorensheng/p/3287652.html Tkinter模块("Tk 接口")是Python的标准Tk ...

  3. Linux升级Python提示Tkinter模块找不到解决

    一.安装tkinter 在Linux中python默认是不安装Tkinter模块, [root@li250- ~]# python Python (r266:, Feb , ::) [GCC (Red ...

  4. Python升级提示Tkinter模块找不到的解决方法

    一.安装tkinter在Linux中python默认是不安装Tkinter模块,复制代码 代码如下:[root@li250-193 ~]# pythonPython 2.6.6 (r266:84292 ...

  5. Python 利用pytesser模块识别图像文字

    使用的是python的pytesser模块,原先想做的是图片中文识别,搞了一段时间了,在中文的识别上还是有很多问题,这里做记录分享. pytesser,OCR in Python using the ...

  6. easyUi弹出window窗口传值与调用父页面的方法,子页面给父页面赋值

    <!-- 父页面 --> <!DOCTYPE html PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "ht ...

  7. 利用TKinter模块创建GUI窗口

    # -*- coding: utf-8 -*- from Tkinter import *     root = Tk() # 80x80代表了初始化时主窗口的大小,0,0代表了初始化时窗口所在的位置 ...

  8. Python中TKinter模块中的Label组件

    Python2.7.4      OS—W7x86 1. 简介 Label用于在指定的窗口中显示文本和图像.最终呈现出的Label是由背景和前景叠加构成的内容. Label组件定义函数:Label(m ...

  9. Python利用os模块批量修改文件名

    初学Python.随笔记录自己的小练习. 通过查阅资料os模块中rename和renames都可以做到 他们的区别为.rename:只能修改文件名   renames:可以修改文件名,还可以修改文件上 ...

随机推荐

  1. vue中Axios请求豆瓣API数据并展示到Swipe中

    vue中Axios请求豆瓣API数据并展示到Swipe中 1.首先是安装Axios: 安装方法cnpm install axios --save 等待npm安装完毕: 2.在main.js中引入axi ...

  2. 使用vue.js路由踩到的一个坑Unknown custom element

    在配合require.js使用vue路由的时候,遇到了路由组件报错: “vue.js:597 [Vue warn]: Unknown custom element: <router-link&g ...

  3. Oracle11g登录名和密码不区分大小写

    问题描述: oracle11g对账户密码实行大小写识别,烦的一比!想移除此限制 问题解决: oracle 11g以前的版本的用户名和密码是不区分大小写!oracle 11g 用户名和密码默认区分大小写 ...

  4. iostat查看linux硬盘IO性能

    rrqm/s:   每秒进行 merge 的读操作数目.即 delta(rmerge)/swrqm/s:  每秒进行 merge 的写操作数目.即 delta(wmerge)/sr/s:        ...

  5. 海量数据拆分到nosql系统的一种方案

    获取某用户的好友最新动态. 我们大体上来说先按照用户ID将用户的好友一致性哈希到几个mongodb集群,然后把用户的最新信息也存储到mongodb中.然后利用消息系统保持数据库中的数据和mongdb中 ...

  6. 设置tomcat 编译文件位置【转】

    问题: 将项目发布到tomcat时,发现tomcat的cclasses目录下无任何编译后的文件. 解决方法:设置MyEclipse的文件编译目录即可: http://my.oschina.net/u/ ...

  7. Atitit 类库冲突 解决方案

    Atitit 类库冲突 解决方案 表现情况,找到不某些方法 类等,一个情况是真的找不到,一个情况是加载了错误的jar,导致正确的jar无法加载.. 1.1. 查找现在ide正在使用的jar1 1.2. ...

  8. (转) mysql中left join,right join,inner join的区别

    转自:https://blog.csdn.net/qq_35975416/article/details/78842958 sql查询中有一个非常重要的环节就是表的关联查询,一般使用left join ...

  9. C#学习笔记(31)——委托窗体传值

    说明(2017-11-23 19:31:53): 1. 关于委托和窗体传值,一下午在网上查阅了大量资料,基本就是CSDN的论坛和博客园的文章,大家都在举例子,烧水.鸿门宴,看评论说还看到过沙漠足球的, ...

  10. C#获取起始位置以及添加全局资源字典

    获取起始位置 Path.Combine(AppDomain.CurrentDomain.BaseDirectory); 添加全局资源 string temp = "this is a str ...