文章目录
import tkinter as tk # 在代码里面导入库,起一个别名,以后代码里面就用这个别名
root = tk.Tk() # 这个库里面有Tk()这个方法,这个方法的作用就是创建一个窗口
root.mainloop() # 加上这一句,就可以看见窗口了,循环显示窗口
root.title('演示窗口') #设置窗口标题
root.geometry("300x100+630+80") # 设置窗口长x宽+x*y
import tkinter as tk #tk代替tkinter
from tkinter import messagebox
root = tk.Tk() # 创建窗口
root.title('演示窗口')
root.geometry("300x100+630+80") # 长x宽+x*y
btn1 = tk.Button(root) # 创建按钮,并且将按钮放到窗口里面
btn1["text"] = "点击" # 给按钮一个名称
btn1.pack() # 按钮布局
def test(e):
'''创建弹窗'''
messagebox.showinfo("窗口名称", "点击成功")
btn1.bind("<Button-1>", test) # 将按钮和方法进行绑定,也就是创建了一个事件
root.mainloop() # 让窗口一直显示,循环
import tkinter as tk
root = tk.Tk()
root.title("这是Demo")
root.geometry("300x200")
var = tk.StringVar() #tk专有字符串
#root---界面(需要放在那个界面),textvariable----显示文本
#bg----背景 font----字体格式,大小 width----宽度 height----高度
lab = tk.Label(root,textvariable=var,bg = 'green',font=('Arial',12),width=15,height=2)
lab.pack() #把标签置入root界面布局
on_hit = True #点击标志位
def hit_me():
global on_hit
if on_hit==True:
on_hit = False #点击交替
var.set("you hit me")
else:
on_hit = True
var.set("")
#root---界面(需要放在那个界面),text----显示文本
#width----宽度 height----高度 command----命令(执行哪个函数)
but = tk.Button(root,text = "hitme",width=15,height=2,command=hit_me)
but.pack()
root.mainloop()
import tkinter as tk
root = tk.Tk()
root.title("这是Demo")
root.geometry("300x200")
#root---界面(需要放在那个界面),show----输入的字符显示为*,可以设置成show=none
e = tk.Entry(root,show='*')
e.pack()
def insert_point():
var = e.get()
t1.insert('insert',var)
def insert_end():
var = e.get()
t1.insert('end',var)
#root---界面(需要放在那个界面),text----显示文本
#width----宽度 height----高度 command----命令(执行哪个函数)
b1 = tk.Button(root,text = "insert point",width=15,height=2,command=insert_point)
b1.pack()
b2= tk.Button(root,text = "insert end",width=15,height=2,command=insert_end)
b2.pack()
#root---界面(需要放在那个界面),height ----文本框宽度
t1 = tk.Text(root,height=2)
t1.pack(fill="x")
root.mainloop()
import tkinter as tk
root = tk.Tk()
root.title("这是Demo")
root.geometry("300x200")
#root---界面(需要放在那个界面),textvariable----显示文本变量
#bg----背景 font----字体格式,大小 width----宽度 height----高度
var1 = tk.StringVar()
l = tk.Label(root, bg='yellow', width=4, textvariable=var1)
l.pack()
def print_selection():
value = lb.get(lb.curselection()) #获取列表选项
var1.set(value) #设置textvariable=var1的文本值
#root---界面(需要放在那个界面),text----显示文本
#width----宽度 height----高度 command----命令(执行哪个函数)
b1 = tk.Button(root,text = "print selection",width=15,height=2,command=print_selection)
b1.pack()
var2 = tk.StringVar()
var2.set((11,22,33,44))
#root---界面(需要放在那个界面),listvariable----列表变量
lb = tk.Listbox(root, listvariable=var2) #列表变量var2
list_items = [1,2,3,4]
for item in list_items: #列表遍历
lb.insert('end', item)
lb.insert(1, 'first') #1号位后加入first
lb.insert(2, 'second') #2号位后加入second
#lb.delete(2) #删除2后的second
lb.pack()
root.mainloop()
import tkinter as tk
root = tk.Tk()
root.title("这是Demo")
root.geometry("300x200")
#root---界面(需要放在那个界面),textvariable----显示文本变量
#bg----背景 font----字体格式,大小 width----宽度 height----高度
var = tk.StringVar()
l = tk.Label(root, bg='yellow', width=20, text='empty')
l.pack()
def print_selection():
l.config(text='you have selected ' + var.get())
#Radiobutton-----选择按钮
#root---界面(需要放在那个界面),variable----变量
#value----值 command----命令
r1 = tk.Radiobutton(root, text='Option A',
variable=var, value='A',
command=print_selection)
r1.pack()
r2 = tk.Radiobutton(root, text='Option B',
variable=var, value='B',
command=print_selection)
r2.pack()
r3 = tk.Radiobutton(root, text='Option C',
variable=var, value='C',
command=print_selection)
r3.pack()
root.mainloop()
import tkinter as tk
root = tk.Tk()
root.title("这是Demo")
root.geometry("300x200")
#root---界面(需要放在那个界面),textvariable----显示文本变量
#bg----背景 font----字体格式,大小 width----宽度 height----高度
l = tk.Label(root, bg='yellow', width=20, text='empty')
l.pack()
def print_selection(v):
l.config(text='you have selected ' + v)
#Scale----尺度函数
#root---界面(需要放在那个界面),label----标签名字 from_ ----尺度从哪开始 to----尺度到哪结束
#orient----尺度方向(HORIZONTAL水平) length----显示长度(单位为像素) tickinterval----每隔多少加个尺度显示
#resolution ----精度(精确到小数点后多少) command----命令
s = tk.Scale(root, label='try me', from_=5, to=11, orient=tk.HORIZONTAL,
length=200, showvalue=0, tickinterval=2, resolution=0.01, command=print_selection)
s.pack()
root.mainloop()
import tkinter as tk
root = tk.Tk()
root.title("这是Demo")
root.geometry("300x200")
#root---界面(需要放在那个界面),textvariable----显示文本变量
#bg----背景 font----字体格式,大小 width----宽度 height----高度
l = tk.Label(root, bg='yellow', width=20, text='empty')
l.pack()
def print_selection():
if (var1.get() == 1) & (var2.get() == 0):
l.config(text='I love only Python ')
elif (var1.get() == 0) & (var2.get() == 1):
l.config(text='I love only C++')
elif (var1.get() == 0) & (var2.get() == 0):
l.config(text='I do not love either')
else:
l.config(text='I love both')
var1 = tk.IntVar()
var2 = tk.IntVar()
#Checkbutton----勾选函数
#root---界面(需要放在那个界面),text----文本 variable ----变量
#onvalue----勾选标志值 offvalue----无勾选标志值 command----命令
c1 = tk.Checkbutton(root, text='Python', variable=var1, onvalue=1, offvalue=0,
command=print_selection)
c2 = tk.Checkbutton(root, text='C++', variable=var2, onvalue=1, offvalue=0,
command=print_selection)
c1.pack()
c2.pack()
root.mainloop()
import tkinter as tk
root = tk.Tk()
root.title("这是Demo")
root.geometry("300x300")
#Canvas----画布
#root---界面(需要放在那个界面)
#bg----背景 width----宽度,height----高度(单位像素)
canvas = tk.Canvas(root, bg='white', height=200, width=200)
#PhotoImage----加载图片
#图片路径为file='C:\\Users\\admin\\Desktop\\Demo\\Demo\\1.gif' 注意是使用双斜杆\\
image_file = tk.PhotoImage(file='C:\\Users\\admin\\Desktop\\Demo\\Demo\\1.gif')
#create_image----图片位置
#create_image(瞄点横坐标,瞄点纵坐标,瞄点位置,加入图片)
image = canvas.create_image(0,0, anchor='nw', image=image_file)
#create_line----画线
#create_oval----画圆
#create_arc----画扇形
#create_rectangle----画矩形
#canvas.create_oval
x0, y0, x1, y1= 50, 50, 80, 80
line = canvas.create_line(x0, y0, x1, y1)
#create_oval----画扇形
#create_oval(坐标,坐标,坐标,坐标,填充颜色)
oval = canvas.create_oval(x0, y0, x1, y1, fill='red')
#create_oval----画圆
#create_oval(坐标,坐标,坐标,坐标,开始角度,结束角度)
arc = canvas.create_arc(x0+30, y0+30, x1+30, y1+30, start=90, extent=180)
rect = canvas.create_rectangle(100, 30, 100+20, 30+20)
canvas.pack()
#move----移动
#canvas.move(对象, 横坐标, 纵坐标)
def moveit():
canvas.move(rect, 2, 4)
b = tk.Button(root, text='move', command=moveit).pack()
root.mainloop()
import tkinter as tk
root = tk.Tk()
root.title('my window')
root.geometry('300x300')
#root---界面(需要放在那个界面),textvariable----显示文本变量
#bg----背景 font----字体格式,大小 width----宽度 height----高度
l = tk.Label(root, text='', bg='yellow')
l.pack()
counter = 0
def do_job():
global counter
l.config(text='do '+ str(counter))
counter+=1
#menubar----菜单
menubar = tk.Menu(root) #菜单加入root界面
filemenu = tk.Menu(menubar, tearoff=0) #filemenu加入菜单栏menubar下(tearoff=0 不可分割)
#filemenu菜单加入标签和相应执行命令
menubar.add_cascade(label='File', menu=filemenu)
filemenu.add_command(label='New', command=do_job)
filemenu.add_command(label='Open', command=do_job)
filemenu.add_command(label='Save', command=do_job)
filemenu.add_separator() #添加分割线
filemenu.add_command(label='Exit', command=root.quit)
editmenu = tk.Menu(menubar, tearoff=0)#editmenu加入菜单menubar下(tearoff=0 不可分割)
#editmenu菜单加入标签和相应执行命令
menubar.add_cascade(label='Edit', menu=editmenu)
editmenu.add_command(label='Cut', command=do_job)
editmenu.add_command(label='Copy', command=do_job)
editmenu.add_command(label='Paste', command=do_job)
#submenu加入菜单filemenu下(tearoff=0 不可分割)
submenu = tk.Menu(filemenu)
#filemenu菜单加入标签和相应执行命令
filemenu.add_cascade(label='Import', menu=submenu, underline=0)
submenu.add_command(label="Submenu1", command=do_job)
#配置菜单栏
root.config(menu=menubar)
root.mainloop()
import tkinter as tk
root = tk.Tk()
root.title('my window')
root.geometry('200x200')
#root---界面(需要放在那个界面),textvariable----显示文本变量
#bg----背景 font----字体格式,大小 width----宽度 height----高度
tk.Label(root, text='on the window').pack()
#Frame----框架
#Frame的作用可以合理分布控件位置
#框架设置在root界面上
frm = tk.Frame(root)
frm.pack()
#框架设置在Frame框架上(分别在左右)
frm_l = tk.Frame(frm)
frm_r = tk.Frame(frm)
frm_l.pack(side='left')
frm_r.pack(side='right')
tk.Label(frm_l, text='on the frm_l1').pack()
tk.Label(frm_l, text='on the frm_l2').pack()
tk.Label(frm_r, text='on the frm_r1').pack()
root.mainloop()
import tkinter as tk
import tkinter.messagebox
root = tk.Tk()
root.title('my window')
root.geometry('200x200')
def hit_me():
#tk.messagebox.showinfo(title='Hi', message='hahahaha') # return 'ok'
#tk.messagebox.showwarning(title='Hi', message='nononono') #警告 return 'ok'
tk.messagebox.showerror(title='Hi', message='No!! never') #错误 return 'ok'
#print(tk.messagebox.askquestion(title='Hi', message='hahahaha')) #询问 return 'yes' , 'no'
#print(tk.messagebox.askyesno(title='Hi', message='hahahaha')) #是否 return True, False
#print(tk.messagebox.askretrycancel(title='Hi', message='hahahaha')) # 重试 return True, False
#print(tk.messagebox.askokcancel(title='Hi', message='hahahaha')) # return True, False
# print(tk.messagebox.askyesnocancel(title="Hi", message="haha")) # return, True, False, None
tk.Button(root,text = 'hit_me',command=hit_me).pack()
root.mainloop()
import tkinter as tk
root = tk.Tk()
root.title('my window')
root.geometry('200x200')
#canvas = tk.Canvas(window, height=150, width=500)
#canvas.grid(row=1, column=1)
#image_file = tk.PhotoImage(file='welcome.gif')
#image = canvas.create_image(0, 0, anchor='nw', image=image_file)
#pack布局----可以通过side控制放在上下左右
#tk.Label(window, text='1').pack(side='top')
#tk.Label(window, text='1').pack(side='bottom')
#tk.Label(window, text='1').pack(side='left')
#tk.Label(window, text='1').pack(side='right')
#grid布局----通过方格的格式,将控件分布于其中
##for i in range(4):
#for j in range(3):
#tk.Label(window, text=1).grid(row=i, column=j, padx=10, pady=10)
#place布局----通过设置坐标方式,可以精确分布控件
tk.Label(root, text=1).place(x=20, y=10, anchor='nw')
root.mainloop()
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。
什么是ruby的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht
华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o
我想解析一个已经存在的.mid文件,改变它的乐器,例如从“acousticgrandpiano”到“violin”,然后将它保存回去或作为另一个.mid文件。根据我在文档中看到的内容,该乐器通过program_change或patch_change指令进行了更改,但我找不到任何在已经存在的MIDI文件中执行此操作的库.他们似乎都只支持从头开始创建的MIDI文件。 最佳答案 MIDIpackage会为您完成此操作,但具体方法取决于midi文件的原始内容。一个MIDI文件由一个或多个音轨组成,每个音轨是十六个channel中任何一个上的
本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决
2022/8/4更新支持加入水印水印必须包含透明图像,并且水印图像大小要等于原图像的大小pythonconvert_image_to_video.py-f30-mwatermark.pngim_dirout.mkv2022/6/21更新让命令行参数更加易用新的命令行使用方法pythonconvert_image_to_video.py-f30im_dirout.mkvFFMPEG命令行转换一组JPG图像到视频时,是将这组图像视为MJPG流。我需要转换一组PNG图像到视频,FFMPEG就不认了。pyav内置了ffmpeg库,不需要系统带有ffmpeg工具因此我使用ffmpeg的python包装p
ValidPalindromeGivenastring,determineifitisapalindrome,consideringonlyalphanumericcharactersandignoringcases. [#125]Example:"Aman,aplan,acanal:Panama"isapalindrome."raceacar"isnotapalindrome.Haveyouconsiderthatthestringmightbeempty?Thisisagoodquestiontoaskduringaninterview.Forthepurposeofthisproblem
是否可以在PyYAML或Ruby的Psych引擎中禁用创建anchor和引用(并有效地显式列出冗余数据)?也许我在网上搜索时遗漏了一些东西,但在Psych中似乎没有太多可用的选项,而且我也无法确定PyYAML是否允许这样做.基本原理是我必须序列化一些数据并将其以可读的形式传递给一个不是真正的技术同事进行手动验证。有些数据是多余的,但我需要以最明确的方式列出它们以提高可读性(anchor和引用是提高效率的好概念,但不是人类可读性)。Ruby和Python是我选择的工具,但如果有其他一些相当简单的方法来“展开”YAML文档,它可能就可以了。 最佳答案
我很好奇.NET将如何影响Python和Ruby应用程序。用IronPython/IronRuby编写的应用程序是否会非常特定于.NET环境,以至于它们实际上将变得特定于平台?如果他们不使用任何.NET功能,那么IronPython/IronRuby相对于非.NET同类产品的优势是什么? 最佳答案 我不能说任何关于IronRuby的东西,但是大多数Python实现(如IronPython、Jython和PyPy)都试图尽可能忠实于CPython实现。不过,IronPython正在迅速成为这方面的佼佼者之一,并且在PlanetPyth