解决方法如下 修改/etc/udev/rules.d/70-persistent-net.rules 将eth0这行注释掉或者删除, 这里记载的还是克隆系统...
图片如果在配置SSL证书后,Nginx的HTTPS无法正常工作,可能有以下几个常见原因:1.错误的证书路径或文件权限:确保在Nginx配置文件中指定了正确的证书文件路径,并且Nginx对该文件具有读取权限...其他配置错误:检查Nginx的其他相关配置,确保没有其他冲突或错误的指令导致HTTPS无法正常工作。可以查看Nginx的错误日志文件以获取更多详细的错误信息。...排除以上可能的问题,并进行适当的配置修复后,可以重新启动Nginx服务,并检查HTTPS是否能够正常工作。
今天我第一次学习使用fail2ban,以前都没用过这样的东西,小地方没有太多攻击看上,但是工作之后这些安全意识和规范还是会加深认识,fail2ban很简单的远离,分析日志,正则匹配查找,iptables...ban ip,然后我今天花了很长时间都没办法让他工作起来,我写了一个简单的规则ban掉尝试暴力登录phpmyadmin的ip,60秒内发现3次ban一个小时。...我通过fail2ban-regex测试工具测试的时候结果显示是能够正常匹配的,我也试了不是自己写的规则,试了附带的其他规则的jail,也是快速失败登录很多次都不能触发ban,看fail2ban的日志更是除了启动退出一点其他日志都没有...后面我把配置还原,重启服务,这次我注意到重启服务之后整个负载都高了起来,fail2ban-server直接是占满了一个核,这种情况居然持续了十几分钟的样子,简直不能忍。
Tkinter 提供了一种称为事件绑定( event binding )的机制,可以将键盘事件与特定的处理函数关联起来。...# 绑定键盘按下事件到文本框上 entry.bind("", on_key_press) 在上述示例中,我们定义了一个名为 on_key_press 的函数,该函数接受一个事件对象...然后,我们使用 bind 方法将键盘按下事件 "" 绑定到文本框上,以便在用户按下键盘按键时调用 on_key_press 函数。...("处理键盘事件示例") # 创建文本框 entry = tk.Entry(root) entry.pack() # 绑定键盘按下事件到文本框上 entry.bind("", on_key_press...使用 bind 方法将键盘按下事件 "" 绑定到文本框上,以便在用户按下键盘按键时调用 on_key_press 函数。
tk.overrideredirect(True)#无退出,不能移动,无工具栏 第十步:设置窗口置顶 tk.attributes("-topmost", True) 窗体置顶:True 所有窗口中处于最顶层...;False 正常显示 使用场景,比如:桌面便签,需要显示在最顶层,又不妨碍其他软件使用。...tk.bind("", update_test)#绑定事件 def update_test(e): tk.update() # 获取屏幕的大小; height = tk.winfo_height...#tk.overrideredirect(True)#无退出,不能移动,无工具栏 #tk.attributes("-fullscreen", True)#全屏模式:True 全屏;False 正常显示...tk.winfo_x() y = tk.winfo_y() print(width, height, x, y) # tk.bind("", update_test)#绑定事件
tk.overrideredirect(True)#无退出,不能移动,无工具栏 第十步:设置窗口置顶 tk.attributes("-topmost", True) 窗体置顶:True 所有窗口中处于最顶层...;False 正常显示 使用场景,比如:桌面便签,需要显示在最顶层,又不妨碍其他软件使用。...tk.bind("", update_test)#绑定事件 def update_test(e): tk.update() # 获取屏幕的大小; height = tk.winfo_height...#tk.overrideredirect(True)#无退出,不能移动,无工具栏 #tk.attributes("-fullscreen", True)#全屏模式:True 全屏;False 正常显示...x = tk.winfo_x() y = tk.winfo_y() print(width, height, x, y) # tk.bind("", update_test)#绑定事件
两个事件同时绑定到一个控件 将两个事件绑定为同一个组件 代码: import tkinter as tk root = tk.Tk() # 为 root 绑定两个事件 # Key 事件处理函数 def ...instance 的 bind 方法 代码: import tkinter as tk root = tk.Tk() # Key 事件处理函数 def printEvent(event): print...当按键时,程序调用一次 printEvent 事件各个级别音传递 事件级别间”传递" 代码: import tkinter as tk root = tk.Tk() # Key 事件处理函数 def printEvent...传递",调用顺序为 instance/class/toplevel/all 使用 bind_class 的后果 使用 bind_class 将影响所有这个类的 instance 代码: import tkinter... tkinter as tk root = tk.Tk() def printProtocol(): print('WM_DELETE_WINDOW') root.destroy() #
测试离开(Leave)事件 测试鼠标释放事件 代码: import tkinter as tk root = tk.Tk() def printcoords(event): print(event.x...分别测试 Leave 事件,只是在离开组件是会产生此事件 响应特殊键(Special Key) 代码; import tkinter as tk root = tk.Tk() def printcoords...)事件 使用 Key 处理所有的键盘事件 代码: import tkinter as tk root = tk.Tk() def printcoords(event): print('event.keycode... = ', event.keycode) # 创建第一个 Button,并将它与 Key 键绑定 bt1 = tk.Button(root,text='Press BackSpace') bt1.bind...一般的按键直接使用就可以了,这样书写'key',不是'key>' 但有两个需要特别注意:空格与小于的处理,使用方式为'和
Entry 用来输入单行文本 示例: import tkinter as tk root = tk.Tk() tk.Entry(root, text='input >>>').pack() root.mainloop...,运行此代码,并没有看到文本的显示,由此可知于Lable和Button不同,Entry的text属性不可以设置Entry的文本 在Entry中设定初始值,使用textvariable将变量与Entry绑定...示例: import tkinter as tk root = tk.Tk() st = tk.StringVar() entry = tk.Entry(root, textvariable=st)...上面的例子中将变量st与Entry绑定,然后将st的值设置为'www.py3study.com',程序运行时的初始值便设置了 设置为只读Entry,不能更改 Entry的另一个比较有用的属性,设置为只读...实际上Entry的属性值可以使用的也为normal/readonly/disabled, normal 正常 readonly 只读 disabled 禁用 代码: import tkinter as
自定义 tag 的两个内置属性 tag.first:tag 之前插入文本,此文本不包含在这个 tag 中 tag.last:tag 之后插入文本,此文本包含在这个 tag 中 代码: import tkinter...注意:使用 window_create,而不是使用 insert('2.0',bt);pack()也不用调用;点击这个按钮,打印出'button in text',证明这个按钮是可以正常工作的 在 Text...绑定 tag 与事件 代码: import tkinter as tk root = tk.Tk() t = tk.Text(root) for i in range(10): t.insert...('a', foreground='blue', underline=1) # Enter 的回调函数 def entertag(event): print('enter event') # 绑定...注意:使用 tag_bind 绑定 tag 与事件,当此事件在 tag 上发生时便就会调用这个 tag 的回调函数 因为使用了 Enter 事件,此事件含有一个参数,故将 enterTag 加了一个参数
事件要与特定的控件相绑定,比如按钮有点击事件,输入框有按键事件,窗体有关闭事件等。...常用的 2 种绑定方法: 1. command 通过控件的 command 参数指定响应函数: def onClick(): print('clicked!')...btn = Button(root, text='click', command=onClick) 注意这里传递参数时,onClick 后面不能加上括号。(思考下加与不加的区别在哪里?)...2. bind 通过 bind 方法绑定不同的事件: def onButton(event): print("Clicked:", event.x, event.y) def onKey(event...): print("Pressed", event.char) entry.bind('', onButton) entry.bind('Key>', onKey) 控件
from matplotlib.backend_bases import key_press_handler from matplotlib.figure import Figure root =..., expand=tkinter.YES) def on_key_event(event): """键盘事件处理""" print("你按了...%s" % event.key) key_press_handler(event, canvas, toolbar) # 绑定上面定义的键盘事件处理函数 canvas.mpl_connect...('key_press_event', on_key_event) def _quit(): """点击退出按钮时调用这个函数""" root.quit() # 结束主循环...root.destroy() # 销毁窗口 # 创建一个按钮,并把上面那个函数绑定过来 button = tkinter.Button(master=root, text="退出", command
最近工作过程中,需要对一批文件进行汉译英的翻译,对单个文档手工复制、粘贴的翻译方式过于繁琐,考虑到工作的重复性和本人追求提高效率、少动手(懒),想通过调用已有的接口的方法,自己实现一个批量翻译工具,一劳永逸...创建应用并绑定实例(应用接口分为三种:API、安卓、ios接口): 点击“应用管理”->“我的应用”->“创建应用”,填写应用名称等相关信息,选择接入方式,并绑定我们所创建的实例,完成应用创建。...词典deeplink 查询语种为支持语言时,存在 webdict text webdeeplink 查询语种为支持语言时,存在 tSpeakUrl text 翻译结果发音地址 翻译成功一定存在,需要应用绑定语音合成实例才能正常播放...否则返回110错误码 speakUrl text 源语言发音地址 翻译成功一定存在,需要应用绑定语音合成实例才能正常播放 否则返回110错误码 returnPhrase Array 单词校验后的结果...以至于主要开发时间都分配给了tkinter排版(顺便吐槽下tkinter的“好用” :p)。
python结合tkinter,可以开发出我们想要的小工具,从而在工作上帮我们提供工作效率。比如,开发一个一键获取APP的包名和Activity等等。下面我们一起先记录下tkinter的基本操作。...1、tkinter小窗口及标题 #coding:utf-8 import tkinter as tk # app是一个Tk(界面)类 app = tk.Tk() app.title("标题")...2、tkinter绑定事件 #coding:utf-8 from tkinter import * def p_label(): global root Lb = Label(root...root = Tk() root.title("应用程序窗口") B_n = Button(root, text='点我', command=p_label, bg='red') # command后面不能有任何的标点符号...3、tkinter布局显示 #coding:utf-8 from tkinter import * root = Tk() root.title("应用程序窗口") Button(root,text
这种绑定是双向的: 如果该变量发生改变, 与该变量绑定的控件也会随之更新. 这些 Tkinter 控制变量和一般的 Python 变量一样, 都是用来保存某个值的....但一般的 Python 变量不能被传递给 variable 或者 textvariable 参数. 这些参数可接受的类型仅限于 Tkinter 包中的 Variable 类的子类....Tkinter 支持将很多 GUI 组件与变量进行双向绑定,执行这种双向绑定后编程非常方便: 如果程序改变变量的值,GUI 组件的显示内容或值会随之改变。...为了让 Tkinter 组件与变量进行双向绑定,只要为这些组件指定 variable(通常绑定组件的 value)、textvariable(通常绑定组件显示的文本)等属性即可。...但这种双向绑定有一个限制,就是 Tkinter不允许将组件和普通变量进行绑定,只能和 tkinter 包下 Variable 类的子类进行绑定。
接着上篇tkinter的学习记录 1、tkinter之单选和多选 #coding:utf-8 from tkinter import * # 定义一个root主窗口 root = Tk() root.title...List_Content else: List_Content.remove('Linux') l['text'] = List_Content # 定义两个复选框,并绑定相关事件...padx=10, pady=5) # 位于第0行,第1列 e2.grid(row=1, column=1, padx=10, pady=5) # 位于第1行,第1列 # 第三行登陆按扭,command绑定事件...= root.register(test) # validate触发方法是关键字触发 e1 = tk.Entry(root, width=10, textvariable=v1, validate='key..., text="+").grid(row=0, column=1) # 存放+号的 e2 = tk.Entry(root, width=10, textvariable=v2, validate='key
一、Entry部件基本介绍 Entry小部件是Tkinter的基本小部件,用于从应用程序的用户获取输入,即文本字符串。这个小部件允许用户输入一行文本。...这意味着不能看到字符串的整体。箭头键可用于移动到字符串的不可见部分。如果要输入多行文本,则必须使用文本小部件。...我们将函数show_entry_fields()绑定到一个自定的show按钮,该函数对entry对象使用get()方法。所以,每次点击这个按钮,输入字段的内容就会打印在我们调用脚本的终端上。...textvariable=display).pack(side=TOP, expand=YES,fill=BOTH) #添加横条型框架以及里面的按钮 for key...in ('123', '456', '789', '-0.'): keyF = frame(self, TOP) for char in key:
pack()方法与grid()方法不能混合使用。 grid()方法常用布局参数如下: column: 控件实例的起始列,最左边为第0列。...参数表达式为“command=函数名”,注意函数名后面不要加括号,也不能传递参数。如下面的command=run1: 利用匿名函数调用函数和传递参数。...滑块实例也可绑定鼠标左键释放事件,并在执行函数中添加参数event来实现事件响应。...可将用户事件与自定义函数绑定,用键盘或鼠标的动作事件来响应触发自定义函数的执行。...> --- 字母和数字 Key-字母>,例如key-a>、Key-A> 简写不带小于和大于号,例如:a,A和1等 回车 ,,(注意不能用
事件和绑定正如前提到的,Tkinter应用程序大部分事件都在事件循环中(通过mainloop方法进入事件循环)事件来自于多个来源,比如用户的键盘的输入和鼠标操作,和windowmanager的重绘事件(...Tkinter提供强大的机制让您自己处理事件,每个组件你都可以为各种事件绑定python的函数和方法widget.bind(event,handler)如果组件中发生了与event描述匹配的事,将调用handler...事件的绑定函数bind: 语法:窗体对象.bind(事件类型,回调函数) 所谓的“回调函数”,就是这个函数我们不用去调用它,当相应的事件发生的时候,它会自动取调用。...绑定事件: sequence所绑定的事件; func所绑定的事件处理函数; add可选参数,为空字符或‘+’; className所绑定的类 ; 鼠标键盘事件(略过):...4.Tkinter的包名因Python的版本不同存在差异,有两种:Tkinter和tkinter,读者若发现程序不能运行,可以尝试切换包名
领取专属 10元无门槛券
手把手带您无忧上云