python thinker(菜单,滚动条,回调函数,对话框)

article/2025/8/21 10:18:14

菜单menu

from tkinter  import *
root= Tk() 
def lab():label0=Label(root,text="hello world")label0.grid(column=0)
root.geometry("800x480")#窗口大小menu0=Menu(root)#参数是父级控件
for x in ['文件','编辑','视图']:menu0.add_command(label=x,command=lab)#添加3个一级菜单
#二级菜单
cascade0=Menu(menu0,tearoff=False)#tearoff=False 表示这个菜单不可以被拖出来
for x in ['添加新项','添加现有项']:cascade0.add_command(label=x,command=lab)
cascade0.add_separator()#分割线
cascade0.add_checkbutton(label="在不调试的情况下启动")#单选框
cascade0.add_separator()#分割线
cascade0.add_radiobutton(label="添加引用")#多选框
cascade0.add_radiobutton(label="添加服务")#多选框
menu0.add_cascade(label='项目',menu=cascade0)#在menu0中添加一个label为项目的级联菜单root['menu']=menu0#窗口root的menu是menu0root.mainloop()  

滚动条Scrollbar

单独


from tkinter  import *
root= Tk() 
def scrollCall(moveto, pos):  # 如何得到两个参数:使用如下打印中的信息,可以看到解释器传给scrollCall函数的两个参数,一个为  # moveto,参考手册可以得知,它是当拖动slider时调用的函数;另一个参数为slider的当前位置,我们  # 可以通过set函数来设置slider的位置,因此使用这个pos就可以完成控制slider的位置。  scrollbar.set(pos, 0)  print(pos)  
#root.geometry("1280x720")#大小
scrollbar = Scrollbar(root,orient=HORIZONTAL,command=scrollCall)  
scrollbar.pack(side = BOTTOM,fill =X)#必须填充 root.mainloop()  

与listbox 列表框配合


from tkinter import *  
root = Tk()  
lb = Listbox(root)  
scrollbarx = Scrollbar(root,orient=HORIZONTAL) 
scrollbary = Scrollbar(root)  
scrollbarx.pack(side = BOTTOM,fill = X)  
scrollbary.pack(side = RIGHT,fill = Y)  
#root.geometry("1280x720")
#side指定Scrollbar为居右;fill指定填充满整个剩余区域,到WM在时候再详细介绍这几个属性。  
#下面的这句是关键:指定Listbox的yscrollbar的回调函数为Scrollbar的set  
lb['xscrollcommand'] = scrollbarx.set  
lb['yscrollcommand'] = scrollbary.set 
for i in range(100):  lb.insert(END,str(i)*20)  #side指定Listbox为居左,  
lb.pack(side = LEFT,fill=BOTH)  
#下面的这句是关键:指定Scrollbar的command的回调函数是Listbar的yview  
scrollbary['command'] = lb.yview  
scrollbarx['command'] = lb.xview  
root.mainloop()

使用grid布局

from tkinter  import *
root= Tk() 
def scrollCall(moveto, pos):  # 如何得到两个参数:使用如下打印中的信息,可以看到解释器传给scrollCall函数的两个参数,一个为  # moveto,参考手册可以得知,它是当拖动slider时调用的函数;另一个参数为slider的当前位置,我们  # 可以通过set函数来设置slider的位置,因此使用这个pos就可以完成控制slider的位置。  scrollbar.set(pos, 0)  list.insert(END,pos)  
#root.geometry("1280x720")#大小
scrollbar = Scrollbar(root,command=scrollCall)  
scrollbar.grid(column=0,row=0,sticky=NS)
#sticky 意思是组件紧靠所在单元格的某一边角。
# 取值有:N,S,E,W,NS,EW,NE,SW
#(默认为CENTER) 
list=Listbox(root)
list.grid(row=0,column=1)
root.mainloop()

控件调用函数

from tkinter  import *#相当于命名空间
root= Tk() 
def lab():label0=Label(root,text="label1")label0.grid(column=0)def p(event):#要加eventprint("hello world")root.title("hello world")#窗口标题
#第一种
btn0=Button(root,text="button",command=lab)#按下调用函数lab
btn0.grid(row=0,column=0,sticky=EW)
#第二种
btn1=Button(root,text="button")
btn1.grid(row=0,column=1)
btn1.bind("<Button-1>",p)#鼠标左键,按下调用函数p
"""
1.我们在使用 bind 函数的时候事件
2.<Button-1>表示鼠标左键单击,3 右,2中
3.<KeyPress-A>表示 A 键被按下
4.<Control-V>表示按下的是 Ctrl 和 V 键
5.<F1>表示按下的是 F1 键"""ent=Entry(root)#输入框
ent.grid(row=1,column=0)
ent['show']="*"#掩码
ent.bind("<KeyPress-\n>",p)#在输入框按下回车,调用函数pbtn0['background']="blue"
print(btn0["text"])root.mainloop()  

消息框与文件选择对话框

from tkinter  import *#相当于命名空间
from tkinter.messagebox  import *#相当于命名空间
from tkinter.filedialog import *
root= Tk() 
file = askopenfilename()#打开选择文件窗口
showinfo(title="hello world",message=file)
#还有其它showwarning,showerror,askquestion,askokcancel,askyesno,askretryignore.
root.mainloop()  



http://chatgpt.dhexx.cn/article/ZDUeXG8y.shtml

相关文章

永恒之蓝(勒索病毒)

1、要有一台靶机和一台攻击机&#xff0c;这里的攻击机为kali&#xff0c;靶机为Windows2008。 2、添加一个新的网卡&#xff0c;防止病毒传播到主机。 1、添加网卡&#xff1a; 注意&#xff1a;这里添加的子网ip不能和前面的重复。 3、给虚拟机设置网卡。 两台虚拟机要设置为…

老生常谈,永恒之蓝-winxp

老生常谈&#xff0c;永恒之蓝-winxp 环境说明&#xff1a; 攻击机&#xff1a;kali 靶机&#xff1a;windows xp sp2 靶机开放服务&#xff1a;无&#xff0c;IE浏览器版本 6.0 信息收集&#xff1a; 扫描当前网段存活主机&#xff0c;发现目标主机&#xff1a;IP&#xf…

msf渗透测试学习-与永恒之蓝漏洞案例

MSF是Metasploit Framework的缩写&#xff0c;是一款广泛使用的渗透测试工具&#xff0c;具有强大的攻击功能。它提供了一个模块化的平台&#xff0c;通过将各种攻击载荷、漏洞利用和辅助工具组装在一起&#xff0c;可用于模拟各种攻击&#xff0c;测试系统安全性&#xff0c;也…

永恒之蓝--Windows7

永恒之蓝是在Windows的SMB服务处理SMB v1请求时发生的漏洞&#xff0c;这个漏洞导致攻击者在目标系统上可以执行任意代码。通过永恒之蓝漏洞会扫描开放445文件共享端口的Windows机器&#xff0c;无需用户任何操作&#xff0c;只要开机上网&#xff0c;不法分子就能在电脑和服务…

win7永恒之蓝

一 使用msfconsole命令开启MSF&#xff0c;并使用search命令搜索永恒之蓝模块 search ms17-010 二 &#xff1a;使用搜索出来的第三个模块来进行探测目标是否存在永恒之蓝漏洞&#xff0c;并设置好以下参数进行扫描测试 >>>use auxiliary/scanner/smb/smb_ms17_010 …

永恒之蓝从渗透的复现

永恒之蓝又称为勒索病毒&#xff0c;同样这个漏洞成为了黑客现在训练的好方式&#xff08;记住千万不可以攻击别人的电脑&#xff09;&#xff0c;这个漏洞在win7中十分常见&#xff0c;而永恒之蓝对应的是445端口&#xff0c;所以说我们将用win7虚拟机&#xff08;受害者&…

永恒之蓝(Eternal Blue)复现

永恒之蓝介绍 什么是永恒之蓝 永恒之蓝&#xff08;Eternal Blue&#xff09;爆发于2017年4月14日晚&#xff0c;是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限&#xff0c;以此来控制被入侵的计算机。甚至于2017年5月12日&#xff0c; 不法分子通过改造“永恒之蓝…

kali与永恒之蓝

kali永恒之蓝攻击 写在前面一、永恒之蓝是何方神圣&#xff1f;二、神马是SMB协议&#xff1f;三、MSF四、攻击步骤1、攻击主机与靶机配置2、攻击步骤 五、种植后门 写在前面 这是我的第一篇CSDN博客&#xff0c;最近又参加了一个CTF比赛&#xff0c;当然&#xff0c;纯属兴趣爱…

利用虚拟机复现漏洞 “永恒之蓝”

利用虚拟机复现漏洞“永恒之蓝” 攻击&#xff1a;kali Linux 2020.3 靶机&#xff1a;Windows Server 2008 R2 x64 下面详细讲述测试的过程。 —— —— “ 永恒之蓝 ”简介 利用 Windows 系统的 SMB 漏洞可以获取系统最高权限。于 2017 年在全球的范围内大面积爆发&#…

永恒之蓝简介

永恒之蓝是指2017年4月14日晚&#xff0c;黑客团体Shadow Brokers&#xff08;影子经纪人&#xff09;公布一大批网络攻击工具&#xff0c;其中包含“永恒之蓝”工具&#xff0c;“永恒之蓝”利用Windows系统的SMB漏洞可以获取系统最高权限。5月12日&#xff0c;不法分子通过改…

永恒之蓝-永恒之蓝漏洞(linux)

扫描存活主机 fping -a -g 192.168.52.1 192.168.56.254 &#xff0c;因为kali是192.168.52.134&#xff0c;所以win2003是192.168.52.133 像192.168.52.2或者192.168.52.1这种不用管&#xff0c;一般是网关 开启msfconsole 搜索载荷&#xff0c;永恒之蓝的载荷是ms17_010 …

永恒之蓝漏洞复现

一&#xff0c;永恒之蓝 一、漏洞简介\n1、永恒之蓝介绍:\n永恒之蓝漏洞&#xff08;MS17-010&#xff09;&#xff0c;它的爆发源于 WannaCry 勒索病毒的诞生&#xff0c;该病毒是不法分子利用NSA&#xff08;National Security Agency&#xff0c;美国国家安全局&#xff09…

永恒之蓝靶场

声明&#xff1a;本文仅限交流学习使用,请勿使用在任何非法商业活动,禁止用于非法用途。否则后果自负。如有侵权,请告知删除,谢谢! 在虚拟机上搭建win7环境&#xff08;靶机&#xff09; 攻击者kali2021版: 模拟永恒之蓝攻击过程的话&#xff0c;需要win7&#xff08;靶机&…

永恒之蓝复现

目录 1.知识点&#xff1a; 2.前提准备 3.复现 1.知识点&#xff1a; &#xff08;永恒之蓝适应低版本的电脑没有打ms17_010的补丁&#xff0c;现在win7以上的高版本已经不可以使用&#xff09; 百度百科&#xff1a;永恒之蓝是指2017年4月14日晚&#xff0c;黑客团体Shadow…

永恒之蓝MS17-010漏洞复现

永恒之蓝漏洞复现 永恒之蓝漏洞简介准备工作命令功能查询靶机IP地址Nmap工具Msf框架相关搜索指令如下设置扫描对象扫描对方是否存在445端口开始攻击 设置攻击载荷设置攻击机及靶机攻击成功简单演示攻击结束 永恒之蓝漏洞简介 本次漏洞复现主要展示如何复现一次永恒之蓝漏洞攻击…

kali之永恒之蓝使用流程(操作全套步骤)

第一步需要kali系统的电脑和win7系统电脑的ip的地址在同一网段&#xff0c;互相之间可以ping通。 第二步关闭win7系统的防火墙。 往往失败就是这两部分的错误。 下边开始进入正题。 打开我们的kali系统&#xff0c;永恒之蓝控制版面开启指令 &#xff1a;msfconsole 小马图…

网络攻防——永恒之蓝

永恒之蓝 1.引言2.永恒之蓝定义3.SMB协议3.windows7版本说明4.攻击实例4.1攻击者和被攻击者展示4.2详细攻击过程4.3接下来尝试攻击一下windows10 5.参考文献 1.引言 让一个不爱学习的人整天蒙英语题&#xff0c;听张宇的视频实在是枯燥了点&#xff0c;于是决定看看网安&#x…

Kali--MSF-永恒之蓝详解(复现、演示、远程、后门、加壳、修复)

目录 一、永恒之蓝概述 二、SMB协议 三、准备工作 四、漏洞复现 1、主机发现 2、端口扫描 3、利用模块 五、演示功能 1.获取cmd 2.捕获屏幕 3.上传文件 4.下载文件 5.远程登录 6.上传后门 7.免杀加壳 8.运行wannacry 9.清除日志 六、预防方案 1.打开防火墙 …

ajax提交form表单+跨域

有时候我们需要提交form表单&#xff0c;而又不想影响跳转页面&#xff0c;同时还不影响浏览器的 正常访问&#xff0c;这个时候就用到了ajax提交 首先&#xff0c;要引入js文件 <script type"text/javascript" src"${ctx}/newoa/js/jquery.form.js"…

使用原生javascript实现ajax提交form表单

使用原生javascript实现ajax提交form表单 ============================ 1 准备表单 首先我们需要编写一个html代码,这里我是采用nodejs里面的jade模板引擎来进行生成html代码的。 form(action="/ajaxTest2",method="post",enctype="text/…