题目1:使用tkinter的重要控件 绘制如下菜单:
图片.png
参考代码:#!/usr/bin/envpython3#-*-coding:utf-8-*-#技术支持:/u/69f40328d4f0#技术支持https://china-testing.github.io/#/china-testing/python-api-tesing/blob/master/practices/tk/tk3.py#项目实战讨论QQ群630011153144081101#CreateDate:-11-29importtkinterastk
root=tk.Tk()
root.title('tkinter控件')#createaframewidgetforplacingmenumy_menu_bar=tk.Frame(root,relief='raised',bd=2)
my_menu_bar.pack(fill=tk.X)#CreateMenuWidget1andSubMenu1my_menu_button=tk.Menubutton(
my_menu_bar,
text='菜单1',
)
my_menu_button.pack(side=tk.LEFT)#menuwidgetmy_menu=tk.Menu(my_menu_button,tearoff=0)
my_menu_button['menu']=my_menu
my_menu.add('command',label='子菜单1')#AddSubMenu1#CreateMenu2andSubmenu2menu_button_2=tk.Menubutton(
my_menu_bar,
text='菜单2',
)
menu_button_2.pack(side=tk.LEFT)
my_menu_2=tk.Menu(menu_button_2,tearoff=0)
menu_button_2['menu']=my_menu_2
my_menu_2.add('command',label='子菜单2')#AddSubMenu2###my_frame_1anditscontents##creatingaframe(my_frame_1)my_frame_1=tk.Frame(root,bd=2,relief=tk.SUNKEN)
my_frame_1.pack(side=tk.LEFT)#addlabeltotomy_frame_1tk.Label(my_frame_1,text='标签').pack()#addentrywidgettomy_frame_1tv=tk.StringVar()#discussedlatertk.Entry(my_frame_1,textvariable=tv).pack()
tv.set('Iamanentrywidget')#addbuttonwidgettomy_frame_1tk.Button(my_frame_1,text='tk.Buttonwidget').pack()#addcheckbuttonwidgettomy_frame_1tk.Checkbutton(my_frame_1,text='Checktk.ButtonWidget').pack()#addradiobuttonstomy_frame_1tk.Radiobutton(my_frame_1,text='Radiotk.ButtonUn',value=1).pack()
tk.Radiobutton(my_frame_1,text='Radiotk.ButtonDos',value=2).pack()
tk.Radiobutton(my_frame_1,text='Radiotk.ButtonTres',value=3).pack()#tk.OptionMenuWidgettk.Label(my_frame_1,text='Exampleoftk.OptionMenuWidget:').pack()
tk.OptionMenu(my_frame_1,'',"OptionA","OptionB","OptionC").pack()#addingmy_imageimagetk.Label(my_frame_1,text='ImageFunwithBitmapClass:').pack()
my_image=tk.BitmapImage(file="gir.xbm")
my_label=tk.Label(my_frame_1,image=my_image)
my_label.image=my_image#keepareference!my_label.pack()###frame2andwidgetsitcontains.###createanotherframe(my_frame_2)toholdalistbox,SpinboxWidget,ScaleWidget,:my_frame_2=tk.Frame(root,bd=2,relief=tk.GROOVE)
my_frame_2.pack(side=tk.RIGHT)#addPhotimageClassWidgettomy_frame_2tk.Label(
my_frame_2,text='Imagedisplayedwith\nPhotoImageclasswidget:').pack()
dance_photo=tk.PhotoImage(file='dance.gif')
dance_photo_label=tk.Label(my_frame_2,image=dance_photo)
dance_photo_label.image=dance_photo
dance_photo_label.pack()#addmy_listboxwidgettomy_frame_2tk.Label(my_frame_2,text='Belowisanexampleofmy_listboxwidget:').pack()
my_listbox=tk.Listbox(my_frame_2,height=4)forlinein['ListboxChoice1','Choice2','Choice3','Choice4']:
my_listbox.insert(tk.END,line)
my_listbox.pack()#spinboxwidgettk.Label(my_frame_2,text='Belowisanexampleofspinboxwidget:').pack()
tk.Spinbox(my_frame_2,values=(1,2,4,8,10)).pack()#scalewidgettk.Scale(
my_frame_2,from_=0.0,to=100.0,label='Scalewidget',
orient=tk.HORIZONTAL).pack()#LabelFramelabel_frame=tk.LabelFrame(
my_frame_2,text="LabelFrameWidget",padx=10,pady=10)
label_frame.pack(padx=10,pady=10)
tk.Entry(label_frame).pack()#messagewidgettk.Message(my_frame_2,text='IamaMessagewidget').pack()###tk.Frame3##my_frame_3=tk.Frame(root,bd=2,relief=tk.SUNKEN)#textwidgetandassociatedtk.Scrollbarwidgetmy_text=tk.Text(my_frame_3,height=10,width=40)
file_object=open('textcontent.txt',encoding='utf-8')
file_content=file_object.read()
file_object.close()
my_text.insert(tk.END,file_content)
my_text.pack(side=tk.LEFT,fill=tk.X,padx=5)#addscrollbarwidgettothetextwidgetmy_scrollbar=tk.Scrollbar(my_frame_3,orient=tk.VERTICAL,command=my_text.yview)
my_scrollbar.pack(side=tk.RIGHT,fill=tk.Y)
my_text.configure(yscrollcommand=my_scrollbar.set)
my_frame_3.pack()###tk.Frame4###createanotherframe(my_frame_4)my_frame_4=tk.Frame(root)
my_frame_4.pack()
my_canvas=tk.Canvas(my_frame_4,bg='white',width=340,height=80)
my_canvas.pack()
my_canvas.create_oval(20,15,60,60,fill='red')
my_canvas.create_oval(40,15,60,60,fill='grey')
my_canvas.create_text(130,38,text='Iamatk.CanvasWidget',font=('arial',8,'bold'))###Apanedwindowwidget##tk.Label(root,text='BelowisanexampleofPanedwindowwidget:').pack()
tk.Label(
root,
text='Noticeyoucanadjustthesizeofeachpanebydraggingit').pack()
my_paned_window_1=tk.PanedWindow()
my_paned_window_1.pack(fill=tk.BOTH,expand=2)
left_pane_text=tk.Text(my_paned_window_1,height=6,width=15)
my_paned_window_1.add(left_pane_text)
my_paned_window_2=tk.PanedWindow(my_paned_window_1,orient=tk.VERTICAL)
my_paned_window_1.add(my_paned_window_2)
top_pane_text=tk.Text(my_paned_window_2,height=3,width=3)
my_paned_window_2.add(top_pane_text)
bottom_pane_text=tk.Text(my_paned_window_2,height=3,width=3)
my_paned_window_2.add(bottom_pane_text)
root.mainloop()
题目2:如何查看tkinter的tk版本?
参考答案:tkinter._test()
图片.png
GUI程序设计通常有哪几部分组成?
图片.png
tkinter的重要控件有哪些?
图片.png
作者:python作业AI毕业设计
链接:/p/5539de24fd45